寻找一些指导。
我正在尝试将4个工作表中的所有单元格复制到主工作表中。
我可以将一张数据复制到主工作表,但是当我复制第二张工作表时,它会覆盖以前复制到主工作表的信息。
这是我目前用于复制数据的代码。
Sub Create_Master ()
Dim sourceColumn As Range, targetColumn As Range
Set sourceColumn = Worksheets("Sheet1").Columns("A:P")
Set targetColumn = Worksheets("Master Sheet").Columns("A:P")
sourceColumn.Copy Destination:=targetColumn
End sub
有什么想法吗?
干杯亚当
答案 0 :(得分:0)
这样的事可能对你有用......
Sub Create_Master ()
Dim sourceSheet As Worksheet
Dim sourceRange As Range
Dim sourceRows As Integer
Set sourceSheet = Worksheets("Sheet1")
sourceRows = WorksheetFunction.CountA(sourceSheet.Range("A:A"))
Set sourceRange = sourceSheet.Range("A1:P" & sourceRows)
Dim targetSheet As Worksheet
Dim targetRange As Range
Dim targetRows As Integer
Set targetSheet = Worksheets("Master Sheet")
targetRows = WorksheetFunction.CountA(targetSheet.Range("A:A"))
Set targetRange = targetSheet.Range("A" & targetRows + 1 & ":P" & targetRows + 1 + sourceRows)
sourceRange.Copy Destination:=targetRange
Dim sourceSheet As Worksheet
Dim sourceRange As Range
Dim sourceRows As Integer
Set sourceSheet = Worksheets("Sheet1")
sourceRows = WorksheetFunction.CountA(sourceSheet.Range("A:A"))
Set sourceRange = sourceSheet.Range("A1:P" & sourceRows)
Dim targetSheet As Worksheet
Dim targetRange As Range
Dim targetRows As Integer
Set targetSheet = Worksheets("Master Sheet")
targetRows = WorksheetFunction.CountA(targetSheet.Range("A:A"))
Set targetRange = targetSheet.Range("A" & targetRows + 1 & ":P" & targetRows + 1 + sourceRows)
sourceRange.Copy Destination:=targetRange
使用工作表功能" CountA"计算出行的使用方式,假设列A单元格总是被填充,并且您不想在要复制的东西下面的列中有任何数据。如果您在源表和主页上有列标题,那么它们将被复制。所以你可能想让sourceRange从A2开始。
HTH。