在 Excel 中,我有一个包含范围的表A1:F12
,我想有一个宏,可以将A2:F2
数据中的任何行(例如)转移到同一工作簿中另一张单独工作表的另一个表中。完成后,删除从原始工作表转移的数据,使其仅存在于第二张表中。
答案1
下面的宏将从源工作表“Sheet1”的第 2 行(假设第 1 行是标题)开始复制所有数据并将其粘贴到目标工作表“Sheet2”。源工作表中的数据将始终附加到目标工作表 A 列的第一个空单元格中。粘贴内容后,它将从源工作表中删除。如果 A 列中有空单元格,则此宏将无法正常工作,因为它取决于 A 列中的单元格是否为空。根据您的需要进行调整
Sub MacroTestAtoF()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim lastRow As Long
Dim i As Long
Dim targetRow As Long
Set sourceSheet = ThisWorkbook.Sheets("Sheet1")
Set targetSheet = ThisWorkbook.Sheets("Sheet2")
lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
targetRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row + 1
For i = 2 To lastRow
sourceSheet.Range("A" & i & ":F" & i).Copy targetSheet.Range("A" & targetRow & ":F" & targetRow)
targetRow = targetRow + 1
Next i
sourceSheet.Range("A2:F" & lastRow).Delete Shift:=xlUp
End Sub