我正在尝试清除列中包含数字1-12的所有单元格的内容。我目前正在使用for循环和if语句,一次遍历数字1-12,如果单元格包含这些值,则清除其中的内容。我正在处理的文件有超过35,000行数据;有没有一种更有效的方法来告诉宏删除这些数字,而不是为它们创建单独的elseif语句?
For r = 2 To i
If Cells(r, 1).Value = "1" Then
Cells(r, 1).ClearContents
ElseIf Cells(r, 1).Value = "2" Then
Cells(r, 1).ClearContents
发布于 2019-06-26 05:04:58
您可以将比较运算符与And结合使用:
For r = 2 to i
If Cells(r, 1).Value >= 1 And Cells(r, 1).Value <= 12 Then
Cells(r, 1).ClearContents
End If
Next
发布于 2019-06-26 05:07:57
使用过滤器:
Sub tgr()
Dim ws As Worksheet
Set ws = ActiveWorkbook.ActiveSheet
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
With ws.Range("A1", ws.Cells(ws.Rows.Count, "A").End(xlUp))
.AutoFilter 1, ">=1", xlAnd, "<=12"
.Offset(1).ClearContents
.AutoFilter
End With
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
https://stackoverflow.com/questions/56761915
复制相似问题