- 我有 4 张格式相同的工作表(具有不同数据的相同列数)。
- 在每张纸上,我想复制最后 6 个非空白列并将它们粘贴到接下来的 6 个空白列中。
- 这应该一次在所有 4 张纸上完成(即不要在一张之后运行宏表)。
我找到了多个答案,但我很难将它们组合在一起(我对 VBA 一无所知)。
十分感谢
我找到了多个答案,但我很难将它们组合在一起(我对 VBA 一无所知)。
十分感谢
此代码复制最后一个非空行(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