我编写了一个代码,可以将一堆Excel工作簿中的数据(路径从专用的txt文件中读取)复制到主工作表。我现在遇到的问题是,代码不是在MASTER工作簿的下一个可用行中检查和粘贴,而是检查源工作簿中的下一个可用行并粘贴到主工作簿中的相应行号
这就是我的主题。请看看
Open PathFile For Input As #1
Do Until EOF(1)
Line Input #1, SourceFile
Set Source = Workbooks.Open(SourceFile)
With Source.Sheets("Action Tracker")
lastRow = .Range("F" & .Rows.Count).End(xlUp).Row
For i = 10 To lastRow
If Len(Trim(.Range("F" & i).Value)) <> 0 Then
If CopyRange Is Nothing Then
Set CopyRange = .Rows(i)
Else
Set CopyRange = Union(CopyRange, .Rows(i))
End If
End If
Next
If Not CopyRange Is Nothing Then
CopyRange.Copy ThisWorkbook.Sheets("MasterSheet").Rows(Range("F100000").End(xlUp).Offset(1, 0).Row)
End If
End With
Source.Close SaveChanges:=False
CB.Clear
Set CopyRange = Nothing
Loop
答案 0 :(得分:0)
错误在以下行内:
CopyRange.Copy ThisWorkbook.Sheets("MasterSheet").Rows(Range("F100000").End(xlUp).Offset(1, 0).Row)
范围,单独使用(不是something.Range),是ActiveSheet.Range的快捷方式
你可以试试这个:
With ThisWorkbook.Sheets("MasterSheet")
CopyRange.Copy .Rows(.Range("F100000").End(xlUp).Offset(1, 0).Row)
End With