![](/img/trans.png)
[英]Excel VBA. Copy data from multiple workbooks and paste in one workbook same worksheet
[英]VBA to copy data from multiple workbooks to Mastercopy excel
我想从文件夹中的不同工作簿(包含相同的标题和布局)中提取数据(列A:I)到Mastercopy excel。
我的代码可以运行,但是只能从不同工作簿的A:E复制数据。 这些工作簿中的每一个只有3行数据(行1:时间戳记A:E,行2:实际标题A:I,行3:要提取的实际值)。 我怀疑它的第1行引起了问题,因为它只有A:E中的数据。 关于如何克服这个问题的任何想法吗? 任何建议深表感谢。
Sub copyDataFromMultipleWorkbooksIntoMaster()
Dim FolderPath As String, Filepath As String, Filename As String
FolderPath = "C:\Users\AlexP\Desktop\Folder\Downloads\"
Filepath = FolderPath & "*.csv"
Filename = Dir(Filepath)
Dim lastrow As Long, lastcolumn As Long
Dim erow
Do While Filename <> ""
Workbooks.Open (FolderPath & Filename)
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lastcolumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(3, 1), Cells(lastrow, lastcolumn)).Copy
Application.DisplayAlerts = False
ActiveWorkbook.Close
erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range(Cells(erow, 1), Cells(erow, 9))
Filename = Dir
Loop
End Sub
如果您知道要从中提取数据的每个工作簿都使用A列到I列,则将复制行更改为Range(Cells(3, 1), Cells(lastrow, 9)).Copy
,这样应该可以正常工作。 它不会那么有弹性,但是会起作用。
为了使其具有弹性,请确保每个工作表在每一列的第一个单元格中都有内容,然后可以返回使用Columns.Count
定义复制的范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.