用于清除细胞的宏

时间:2016-10-28 05:14:53

标签: excel vba clear

有人可以帮助解决以下问题 - 我想编写一个宏,如果它们小于工作表中其他地方指定的特定值,则从列中删除值。

我的尝试

    Sub clearsmall()
Dim r As Range
num1 = Cells(7, 5).Value
For Each r In Selection
If r.Value < num1 Then
r.Clear
End If
Next
End Sub

问题是thois要求用户选择范围。不过,我想在宏中指定它 - 使用像

这样的东西

设置r =范围(&#34; C16:C92&#34;)

我如何更改代码?

1 个答案:

答案 0 :(得分:1)

Sub clearsmall()
    Dim cell As Range, r As Range

    Set r= Range("C16:C92")
    num1 = Cells(7, 5).Value
    For Each cell In r
        If cell.Value < num1 Then cell.Clear
    Next
End Sub

您还可以将其缩短为

Sub clearsmall()
    Dim cell As Range

    Num1 = Cells(7, 5).Value
    For Each cell In Range("C16:C92")
        If cell.Value < num1 Then cell.Clear
    Next
End Sub

最后,您可能希望使用ClearContents而不是Clear,仅清除单元格值,这样更快。这不会触及格式