VBA搜索范围= TODAY()+ 30并清除内容
问题描述:
对于excel有一定的经验,但对VBA非常新颖,并寻求一些帮助。我有一个范围(D:AE)包含日期。每列的行数都是可变的,但使用的单元总数不会少于1500个,可能会高达10000个。我正在尝试创建一个宏,它会在距离今天超过30天的时间内找到此范围内的任何日期,然后清除同一单元格的内容。最终结果将是仅在未来30天内的日期。我做了一些相当广泛的搜索,但我的经验极限并没有给我带来太多。任何帮助将不胜感激!VBA搜索范围= TODAY()+ 30并清除内容
答
建立一个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
这就是我所需要的。非常感谢! – verticalstall