【发布时间】:2021-05-06 17:05:07
【问题描述】:
我的代码旨在从多个工作表中复制相同的范围,并将每个工作表中的数据粘贴到组合工作表中的下一个空列中。我的代码从每张纸正确复制,但粘贴到同一列并覆盖前面的粘贴。
谁能指出我的错误?
非常感谢!
Sub CopyToNextCol()
Dim Sh As Worksheet
Dim NextCol As Long
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "Master" And Sh.Name <> "Lists" And Sh.Name <> "Combined" Then
NextCol = Sheets("Combined").Cells(, Columns.Count).End(xlToLeft).Column + 1
Sh.Range("B2:B44").Copy Sheets("Combined").Cells(, NextCol)
End If
Next Sh
End Sub
【问题讨论】:
-
每张纸上是否填充了单元格“B2”?另外,在行上明确表示可能很好:
Cells(, Columns.Count)---->Cells(1, Columns.Count)。 -
谢谢@BigBen - 就是这样!如果我包含 B1(列标题),它就可以工作。我现在的问题是我打算在复制的数据中使用不同的列标题!
-
@cdfj 您不需要标题,您在“单元格(”之后缺少数字“1”,因此它应该适用于具有任何标题的任何工作表。1 代表您想知道的行最后一个要使用的单元格。