我正在尝试将文件夹中所有文件的值粘贴到主文件夹,但我在粘贴过程中一直遇到错误。这是我的代码:
Sub LoopThrough()
Dim MyFile As String
Dim erow
Dim FilePath As String
Dim DestWB As Workbook
Dim SourceWB As Workbook
Set DestWB = ThisWorkbook
FilePath = "C:\data\"
MyFile = Dir(FilePath)
Do While Len(MyFile) > 0
If MyFile = "Master.xlsm" Then
Exit Sub
End If
Set SourceWB = Workbooks.Open(FilePath & MyFile)
Workbooks.Open (FilePath & MyFile)
Range("A1:L51").Copy
DestWB.Range(Cells(erow, 1), Cells(erow, 12)).PasteSpecial xlValues
SourceWB.Close False
MyFile = Dir
Loop
End Sub
我能帮忙吗?
答案 0 :(得分:0)
这一行
DestWB.Range(Cells(erow, 1), Cells(erow, 12)).PasteSpecial xlValues
应该是
DestWB.Sheets("Target Sheet").Range(DestWB.Sheets("Target Sheet").Cells(erow, 1), DestWB.Sheets("Target Sheet").Cells(erow, 12)).PasteSpecial xlValues
可以重写为
With DestWB.Sheets("Target Sheet")
.Range(.Cells(erow, 1), .Cells(erow, 12)).PasteSpecial xlValues
End With
关键是,当您没有引用Range()
Cells()
和ActiveSheet
方法
另请注意,我已使用"Target Sheet"
,但应将其更改为您实际要粘贴的工作表的名称。