0
我對vba編程非常陌生,我想知道執行以下操作的最佳方法是什麼:從兩個Excel文件(從特定列中讀取數據)並將該數據寫入第三個Excel文件中,首先寫入第一個文件中包含的數據,然後寫入第二個文件中包含的數據。下圖說明了什麼,我想做的事:在第三個文件中寫入兩個Excel文件的內容
我如何能做到在點擊一個命令按鈕,無需打開兩個第一文件(我的意思是,我不希望用戶看到他們)。
我對vba編程非常陌生,我想知道執行以下操作的最佳方法是什麼:從兩個Excel文件(從特定列中讀取數據)並將該數據寫入第三個Excel文件中,首先寫入第一個文件中包含的數據,然後寫入第二個文件中包含的數據。下圖說明了什麼,我想做的事:在第三個文件中寫入兩個Excel文件的內容
我如何能做到在點擊一個命令按鈕,無需打開兩個第一文件(我的意思是,我不希望用戶看到他們)。
你需要做這樣
Workbooks.Open Filename:= "c:\myfile\FILE1.xls"FILE1.xls"
Workbooks.Open Filename:= "c:\myfile\FILE2.xls"
後打開在這種情況下,我們創建FILE3.xls的FILE1.xls和FILE.xls您可以創建或打開FILE3.xls,
Dim wb As Workbook
Set wb = Workbooks.Add
之後,您將讀取FILE1.xls和FILE2.xls中的數據,您可以使用WHILE或其他LOOP進行讀取,或者使用新文件中的COPY和PASTE數據進行讀取。 在這種情況下,我們看到LOOP策略。對於 「FILE2.xls」 讀取數據,並在 「FILE3.xls」 寫,在你關閉
wb.SaveAs "c:\myfile\"FILE3.xls""
wb.Close
並關閉讀取數據文件
Dim i as Integer
Dim value as String
i=0
value = value = Workbooks("FILE1.xls").Worksheets("sheet1")..Range("B:B").Cells(i, 1)
Workbooks("FILE1.xls").Worksheets("sheet1").Activate
while value <> ""
Workbooks("FILE1.xls").Worksheets(2).Range("A:A").Cells(i, 1) = value
value = value = Workbooks("FILE1.xls").Worksheets("sheet1")..Range("B:B").Cells(i, 1)
Wend
重複STE
Workbooks("FILE1.xls").Close
Workbooks("FILE2.xls").Close
如果您嚴格禁止打開文件,可以嘗試使用['ADO(Active Data Objects)]](https://msdn.microsoft.com/en-us/library/windows/desktop/ms676795( v = vs.85)的.aspx) – L42