Excel Marcro – 根据行号删除一行

请帮助..我需要一个macros来删除基于行号(行号)的特定行,例如,如果我想删除第二,第九,第二十,第一百五十行,如何可以在macros中完成,请提供macros,我可以在代码中复制和粘贴行号,并从模块运行。 我有sheet2列A中的行号,这些行是从sheet1中删除的行

一行:

Rows(4).Delete Shift:=xlUp 

对于多行:

 Union(Rows(4), Rows(7)).Delete Shift:=xlUp 

对于您的特定情况,允许根据源表中的行号列表dynamic删除行。 将SourceWks更改为存储和删除数字的工作表,将其删除到将要删除行的工作表中。

 Dim deleteRows As Range Dim data() As Variant Dim i As Double Dim SourceWks As Worksheet, deleteWks As Worksheet Set SourceWks = Sheet2 Set deleteWks = Sheet1 With SourceWks data = .Range(.Cells(1, 1), .Cells(1, 1).End(xlDown)) End With Set deleteRows = deleteWks.Rows(data(1, 1)) For i = 2 To UBound(data, 1) Set deleteRows = Union(deleteRows, deleteWks.Rows(data(i, 1))) Next i deleteRows.Delete Shift:=xlUp