2017-03-17 74 views
0

對於excel有一定的經驗,但對VBA非常新穎,並尋求一些幫助。我有一個範圍(D:AE)包含日期。每列的行數都是可變的,但使用的單元總數不會少於1500個,可能會高達10000個。我正在嘗試創建一個宏,它會在距離今天超過30天的時間內找到此範圍內的任何日期,然後清除同一單元格的內容。最終結果將是僅在未來30天內的日期。我做了一些相當廣泛的搜索,但我的經驗極限並沒有給我帶來太多。任何幫助將不勝感激!VBA搜索範圍= TODAY()+ 30並清除內容

回答

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 
+0

這就是我所需要的。非常感謝! – verticalstall