我的问题:我有下面的“原始代码”,它适用于删除工作簿第 3 和第 4 页的 Q 列中值为“0”的行。
我现在需要为工作表 6 和 7 合并相同的功能,但这次是针对“C”列。我需要帮助来循环附加工作表和不同列的功能。我不能只是再次复制和粘贴相同的函数并更改为列范围,所以只是不确定我缺少什么以允许我从第 6 和 7 页的 C 列中删除“0”值。
Dim deleteRow As Long
Dim ws As Worksheet
For i = 3 To 4
Sheets(i).Select
Set ws = ActiveSheet
For deleteRow = ws.Range("Q" & Rows.Count).End(xlUp).Row To 2 Step -1
If ws.Range("Q" & deleteRow).Value = 0 Then
Rows(deleteRow).EntireRow.Delete
End If
Next deleteRow
Next
End sub
最佳答案
尝试创建Sub
带参数并稍后调用它你想要的:)
Sub delR(startSheet As Long, endSheet As Long, setCol As String)
Dim deleteRow As Long
Dim ws As Worksheet
For i = startSheet To endSheet
Sheets(i).Select
Set ws = ActiveSheet
For deleteRow = ws.Range(setCol & Rows.Count).End(xlUp).Row To 2 Step -1
If ws.Range(setCol & deleteRow).Value = 0 Then
Rows(deleteRow).EntireRow.Delete
End If
Next deleteRow
Next
End Sub
Sub test_delR()
Call delR(3, 4, "Q")
Call delR(6, 7, "C")
End Sub
关于excel - VBA循环功能到不同的列和工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58267289/