如果你会自己录制宏,录个空的宏,把下面代码加进去。 Sub DelRows() ' ' Delete Rows in Excel , Macro ' ' Dim InitialRow(), nRow InitialRow = Array(10, 100, 240) 'Edit or Add here For Each nRow In InitialRow Rows(nRow & ":" & nRow + 19).Select Selection.Delete Shift:=xlUp Next End Sub
【在 f*****y 的大作中提到】 : 如果你会自己录制宏,录个空的宏,把下面代码加进去。 : Sub DelRows() : ' : ' Delete Rows in Excel , Macro : ' : ' : Dim InitialRow(), nRow : InitialRow = Array(10, 100, 240) 'Edit or Add here : For Each nRow In InitialRow : Rows(nRow & ":" & nRow + 19).Select
B*e
7 楼
You have to consider that the row numbers will change after you delete the r ows in the first round of the loop. Here is my code: Sub DelRows() ' ' Delete Rows in Excel , Macro ' ' Dim InitialRow(), nRow Dim DelRange As Range InitialRow = Array(10, 100, 140) 'Edit or Add here Set DelRange = Rows(InitialRow(0)) For Each nRow In InitialRow Set DelRange = Application.Union(DelRange, Range(Rows(nRow), Rows(nR ow + 19))) Next DelRange.Select Selection.Dele
【在 f*****y 的大作中提到】 : 如果你会自己录制宏,录个空的宏,把下面代码加进去。 : Sub DelRows() : ' : ' Delete Rows in Excel , Macro : ' : ' : Dim InitialRow(), nRow : InitialRow = Array(10, 100, 240) 'Edit or Add here : For Each nRow In InitialRow : Rows(nRow & ":" & nRow + 19).Select
h*h
8 楼
运行了这个代码.从后向前删除。其中 InitialRow = Array(240,100,10)。结果显示出 错信息:Method 'Rows' of object'_ Global' failed. Debug 发现 下列代码出错: Set DelRange = Rows(InitialRow(0))。不知如何解决?谢谢。
r
【在 B*******e 的大作中提到】 : You have to consider that the row numbers will change after you delete the r : ows in the first round of the loop. : Here is my code: : Sub DelRows() : ' : ' Delete Rows in Excel , Macro : ' : ' : Dim InitialRow(), nRow : Dim DelRange As Range
【在 f*****y 的大作中提到】 : 如果你会自己录制宏,录个空的宏,把下面代码加进去。 : Sub DelRows() : ' : ' Delete Rows in Excel , Macro : ' : ' : Dim InitialRow(), nRow : InitialRow = Array(10, 100, 240) 'Edit or Add here : For Each nRow In InitialRow : Rows(nRow & ":" & nRow + 19).Select
B*e
10 楼
你在 Rows 前面加上 ActiveSheet. 试试。也就是改成(Fishboy 的code 应该也是这个 问题): Sub DelRows() ' ' Delete Rows in Excel , Macro Dim InitialRow(), nRow Dim DelRange As Range InitialRow = Array(240, 100, 10) 'Edit or Add here Set DelRange = ActiveSheet.Rows(InitialRow(0)) For Each nRow In InitialRow Set DelRange = Union(DelRange, Range(ActiveSheet.Rows(nRow), ActiveS heet.Rows(nRow + 19))) Next DelRange.Select Selection.Delete Shift:=xlUp End Sub
【在 h**h 的大作中提到】 : 运行了这个代码.从后向前删除。其中 InitialRow = Array(240,100,10)。结果显示出 : 错信息:Method 'Rows' of object'_ Global' failed. Debug 发现 下列代码出错: : Set DelRange = Rows(InitialRow(0))。不知如何解决?谢谢。 : : r
h*h
11 楼
It works. Thanks a lot.
这个
【在 B*******e 的大作中提到】 : 你在 Rows 前面加上 ActiveSheet. 试试。也就是改成(Fishboy 的code 应该也是这个 : 问题): : Sub DelRows() : ' : ' Delete Rows in Excel , Macro : Dim InitialRow(), nRow : Dim DelRange As Range : InitialRow = Array(240, 100, 10) 'Edit or Add here : Set DelRange = ActiveSheet.Rows(InitialRow(0)) : For Each nRow In InitialRow