0
  • 我有 4 张格式相同的工作表(具有不同数据的相同列数)。
  • 在每张纸上,我想复制最后 6 个非空白列并将它们粘贴到接下来的 6 个空白列中。
  • 这应该一次在所有 4 张纸上完成(即不要在一张之后运行宏表)。

我找到了多个答案,但我很难将它们组合在一起(我对 VBA 一无所知)。

十分感谢

4

1 回答 1

0

此代码复制最后一个非空行(6 列)并将它们粘贴到下一个空行(6 列)。但是,此代码仅在您的工作表名称最后包含数字 1 到 4 时才有效。(如果您的工作表名称不是“sheet1”、“sheet2”、“sheet3”和“sheet4”,请记住更改代码中的工作表名称)希望它对您或其他人有所帮助(:

Sub A()
Dim count As Integer
Dim sheetname As String

sheetname = sheet

For x = 1 To 4

sheetname = "sheet" & x

Worksheets(sheetname).Activate

count = 1

Do Until ThisWorkbook.Sheets(sheetname).Cells(count, 1).Value = ""

  count = count + 1

Loop


ThisWorkbook.Sheets(sheetname).Cells(count - 1, 1).Select


ActiveCell.Resize(, 6).Copy

ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues

Next x

End Sub
于 2015-10-20T13:45:56.870 回答