VBA搜索范围为= TODAY()+ 30并且内容清晰

时间:2017-03-17 06:40:10

标签: excel-vba vba excel

对excel有点经验但对VBA很新,并寻求一些帮助。我有一个范围(D:AE)包含日期。每列的行数可变,但使用的单元总数不小于~1500,可能高达10,000。我正在尝试创建一个宏,它将在此范围内找到任何超过30天的日期,然后清除相同单元格的内容。最终结果将是仅在接下来的30天内的日期。我已经做了一些非常广泛的搜索,但我的经验限制并没有给我留下太多。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

构建一个For ... Next循环来查看工作表中的每一列,例如

For C = 1 To ActiveSheet.UsedRange.Columns.Count

在第一个中嵌入另一个这样的循环,比如

For R = 2 To ActiveSheet.UsedRange.Rows.Count

在第二个循环中,每个单元格都是ActiveSheet.Cells(R,C),您可以测试和操作它。像,

With ActiveSheet.Cells(R, C)
    If IsDate(.Value) Then
        If CDate(.Value) > (Date + 30) Then
            .Value = ""
        End If
    End If
End With