在EXCEL中,请帮我修改一下这个宏,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/20 19:17:54
是要删除A列中指定内容为“删除”的行,但是这个命令只能对sheet1有效,如何让她对所有正在打开的表都有效.谢谢.不用修改名表,就可以进行删除操作.谢谢.
Sub 删除A列为指定内容的行()
Dim a, b As Integer
a = Sheet1.[a65536].End(xlUp).Row
For b = a To 2 Step -1
If Cells(b, 1).Value = "删除" Then
Rows(b).Delete
End If
Next
End Sub
回一楼:也不行,

Sub 删除A列为指定内容的行()
Dim iloop,numsheet as integer
dim a, b As Integer
numsheet = Worksheets.Count

for iloop=1 to numsheet
Sheets(iloop).select
a = Sheets(iloop).[a65536].End(xlUp).Row
For b = a To 2 Step -1
If Cells(b, 1).Value = "删除" Then
Rows(b).Delete
End If
Next

next iloop

End Sub

把Sheet1改成ActiveSheet就可以对当前表有效了。

下面代码经调试可以。
Sub 删除A列为指定内容的行()
Dim a, b As Integer
a = ActiveSheet.[a65536].End(xlUp).Row

For b = a To 2 Step -1
If Cells(b, 1).Text = "删除" Then
Rows(b).Delete
End If
Next
End Sub