我想知道如何让以下代码适用于多列(D:P)?我已经尝试过添加& “:”P“&”65536“到范围内,没有成功。
For i = 5 To Range("D" & "65536").End(xlUp).Row Step 1
If Application.WorksheetFunction.CountIf(Range("D" & i), "0") = 1 Then
Range("D" & i).ClearContents
End If
Next i
答案 0 :(得分:1)
您可以使用Range("D5:P65536").Replace What:=0,Replacement:=""
一次全部替换。
答案 1 :(得分:0)
也许你正在寻找那样的人。仅当行中的每个单元格都包含0时,才会清除内容。
Dim i As Long
Dim rg As Range
For i = 5 To Range("D" & "65536").End(xlUp).Row Step 1
Set rg = Range("D" & i & ":P" & i)
If Application.WorksheetFunction.CountIf(rg, "0") = 13 Then
rg.ClearContents
End If
Next i
答案 2 :(得分:0)
循环显示实际的列并使用Find()
方法执行搜索。如果您的值存在于该范围内(范围=列),则可以通过该方式清除内容。
Sub test()
' Just for illustration on the columns
Const D& = 4: Const P& = 16
Dim ws As Worksheet, col As Long
Set ws = ThisWorkbook.Worksheets(1)
For col = D To P
If Not ws.Columns(col).find(What:="0", LookAt:=xlWhole) Is Nothing Then
ws.Columns(col).ClearContents
End If
Next col
End Sub