我对vba编程非常陌生,我想知道执行以下操作的最佳方法是什么:从两个Excel文件(从每个文件的特定列)读取数据并将此数据写入第三个Excel文件,首先写入第一个文件中包含的数据,然后写入第二个文件中包含的数据。下图说明了我想要做的事情:
如何点击命令按钮,而不打开两个第一个文件(我的意思是我不希望用户看到它们)。
答案 0 :(得分:0)
你需要这样做
Workbooks.Open Filename:= "c:\myfile\FILE1.xls"FILE1.xls"
Workbooks.Open Filename:= "c:\myfile\FILE2.xls"
打开FILE1.xls和FILE.xls后,您可以创建或打开FILE3.xls, 在这种情况下,我们创建FILE3.xls
Dim wb As Workbook
Set wb = Workbooks.Add
在此之后您读取FILE1.xls和FILE2.xls中的数据,您可以使用WHILE或其他LOOP读取,或者使用新文件中的COPY和PASTE数据读取。 在这种情况下,我们看到了LOOP策略。
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
对“FILE2.xls”重复ste读取数据并写入“FILE3.xls” 在你和你关闭
wb.SaveAs "c:\myfile\"FILE3.xls""
wb.Close
关闭读取数据文件
Workbooks("FILE1.xls").Close
Workbooks("FILE2.xls").Close