2015-05-04 52 views
0

我對vba編程非常陌生,我想知道執行以下操作的最佳方法是什麼:從兩個Excel文件(從特定列中讀取數據)並將該數據寫入第三個Excel文件中,首先寫入第一個文件中包含的數據,然後寫入第二個文件中包含的數據。下圖說明了什麼,我想做的事:在第三個文件中寫入兩個Excel文件的內容

enter image description here

我如何能做到在點擊一個命令按鈕,無需打開兩個第一文件(我的意思是,我不希望用戶看到他們)。

+0

如果您嚴格禁止打開文件,可以嘗試使用['ADO(Active Data Objects)]](https://msdn.microsoft.com/en-us/library/windows/desktop/ms676795( v = vs.85)的.aspx) – L42

回答

0

你需要做這樣

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 
相關問題