[英]Copying worksheets from multiple workbooks into one workbook pasting to the right
我现在真的很感激一些帮助。
我试图从多个工作簿的Sheet1
中获取一系列单元格F37:F53
并将其粘贴到新工作簿的Sheet1
中。 我遇到的一个问题是所有数据都粘贴在一列中。 我真正想要的是将每组数据粘贴到右侧的列中。 因此,换句话说,工作簿 1 的F37:F53
应粘贴到最终工作簿的A1
中。 然后将工作簿 2 的F37:F53
粘贴到最终工作簿的B1
中。 以此类推,限制为 365 列
我真的很感激一些帮助,因为我对 VBA 还很陌生
先感谢您!
这是我到目前为止所拥有的:
Sub simpleXlsMerger()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Application.ScreenUpdating = False
Set mergeObj = CreateObject("Scripting.FileSystemObject")
Set dirObj = mergeObj.Getfolder("C:\Users\a0086850\Documents\421\2017")
Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)
Range("F37:F53" & Range("F65536").End(xlUp).Row).Copy
ThisWorkbook.Worksheets("2017").Activate
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
bookList.Close
Next
End Sub
假设 FSO 位是正确的,试试这个
Sub simpleXlsMerger()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Dim c As Long
Application.ScreenUpdating = False
Set mergeObj = CreateObject("Scripting.FileSystemObject")
Set dirObj = mergeObj.Getfolder("C:\Users\a0086850\Documents\421\2017")
Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)
c = c + 1
bookList.Sheets(1).Range("F37:F53").Copy ThisWorkbook.Worksheets("2017").Cells(1, c)
bookList.Close
Next
End Sub
如果这只是你需要快速的东西,我建议使用 RDBMerge。 合并工作簿/工作表的绝佳工具。 数据库合并
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.