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