Vba 在第三个Excel文件中写入两个Excel文件的内容

Vba 在第三个Excel文件中写入两个Excel文件的内容,vba,excel,Vba,Excel,我对vba编程非常陌生,我想知道执行以下操作的最佳方法是什么:从两个Excel文件(每个文件的特定列)中读取数据,然后将此数据写入第三个Excel文件,首先写入第一个文件中包含的数据,然后写入第二个文件中包含的数据。下图说明了我要做的事情: 如何在不打开前两个文件(我的意思是我不想让用户看到它们)的情况下,单击命令按钮执行此操作。您需要这样做 Workbooks.Open Filename:= "c:\myfile\FILE1.xls"FILE1.xls" Workbooks.Open Fil

我对vba编程非常陌生,我想知道执行以下操作的最佳方法是什么:从两个Excel文件(每个文件的特定列)中读取数据,然后将此数据写入第三个Excel文件,首先写入第一个文件中包含的数据,然后写入第二个文件中包含的数据。下图说明了我要做的事情:

如何在不打开前两个文件(我的意思是我不想让用户看到它们)的情况下,单击命令按钮执行此操作。

您需要这样做

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或其他循环进行读取,也可以使用复制粘贴数据在新文件中进行读取。 在本例中,我们看到了循环策略

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
并关闭读取的数据文件

Workbooks("FILE1.xls").Close
Workbooks("FILE2.xls").Close

如果您严格要求不打开该文件,可以尝试使用
Workbooks("FILE1.xls").Close
Workbooks("FILE2.xls").Close