VBA に Do Until ループがあります。
私の問題は、すべてのシートに情報が含まれているわけではないため、マクロを実行するとほとんどの場合エラーが発生する可能性があることです。
それが起こったら、ループを再開したいだけです。「On Error Resume Next」ではなく、オートフィルターの行を数え、それが 1 (つまり、タイトルのみ) の場合はループを再開することを考えていました。それを行う方法がわからないだけです。
Dim rngDates As Range '日付が貼り付けられる範囲。'Dim strDate As String Dim intNoOfRows As Integer Dim rng As Range
Sub Dates()
Application.ScreenUpdating = False
Set rngWorksheetNames = Worksheets("info sheet").Range("a1")
dbleDate = Worksheets("front sheet").Range("f13")
Worksheets("info sheet").Activate
Range("a1").Activate
Do Until ActiveCell = ""
strSheet = ActiveCell
Set wsFiltering = Worksheets(strSheet)
intLastRow = wsFiltering.Cells(Rows.Count, "b").End(xlUp).Row
Set rngFilter = wsFiltering.Range("a1:a" & intLastRow)
With rngFilter
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set rngDates = .Resize(.Rows.Count - 1, 1).Offset(1, 0).SpecialCells(xlCellTypeVisible)
End With
With rngDates
.Value = dbleDate
.NumberFormat = "dd/mm/yyyy"
If wsFiltering.FilterMode Then
wsFiltering.ShowAllData
End If
ActiveCell.Offset(1, 0).Select
End With
Application.ScreenUpdating = True
Worksheets("front sheet").Select
MsgBox ("Dates updated")
Loop