首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在VBA中清除在数值范围内的单元格内容

如何在VBA中清除在数值范围内的单元格内容
EN

Stack Overflow用户
提问于 2019-06-26 04:59:14
回答 2查看 179关注 0票数 0

我正在尝试清除列中包含数字1-12的所有单元格的内容。我目前正在使用for循环和if语句,一次遍历数字1-12,如果单元格包含这些值,则清除其中的内容。我正在处理的文件有超过35,000行数据;有没有一种更有效的方法来告诉宏删除这些数字,而不是为它们创建单独的elseif语句?

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-26 05:04:58

您可以将比较运算符与And结合使用:

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2019-06-26 05:07:57

使用过滤器:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56761915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档