编译错误:下一步没有按月筛选每个ws
我正在尝试使用for循环来筛选当前月份中此工作簿中的每个ws。 这是它现在的地方
Sub curmonth() Dim ws As Worksheet On Error Resume Next For Each ws In ThisWorkbook.Worksheets If ws.Visible Then ' filter each worksheet by current month Range("A:G").AutoFilter Field:=5, Operator:=xlAnd, _ Criteria1:=">" & Application.EoMonth(Now, -1), _ Criteria2:="<=" & Application.EoMonth(Now, 0) Next ws On Error GoTo 0 End Sub
它一直给我错误“编译错误:下一个没有FOR”,这是令人费解的,因为确实有一个下一个和一个。
你错过了End If
陈述。 另外,将Range("A:G")...
更改为ws.Range("A:G")...
通过这些更改,您的For
循环应该是:
For Each ws In ThisWorkbook.Worksheets If ws.Visible Then ' filter each worksheet by current month ws.Range("A:G").AutoFilter Field:=5, Operator:=xlAnd, _ Criteria1:=">" & Application.EoMonth(Now, -1), _ Criteria2:="<=" & Application.EoMonth(Now, 0) End If Next ws
通常这意味着其他嵌套代码(如果select大小写,如果…)没有完成,但是您已经循环\停止先前的代码。
在你的情况下,如果你错过了一个结束