我正在编写第一个宏,目的是通过VLOOKUP过滤列以仅显示上个月的条目。但是,当我将整数月份替换为函数以从今天的日期中查找上个月的整数时,出现错误Ecpected:statement end。
我这样做了一个初始的VLOOKUP宏。
Sheets("Opportunity Created Month").Select
ActiveCell.Offset(0, 8).Columns("A:A").EntireColumn.Select
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _
**"=7*",** Operator:=xlAnd, Criteria2:="=*2018*"**
然后我尝试用一个采用今天日期并显示如下整数-1的函数替换“ = 7 *”。
Sheets("Opportunity Created Month").Select
ActiveCell.Offset(0, 8).Columns("A:A").EntireColumn.Select
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _
**"=TEXT(TODAY( ),"M")-1)*"**, Operator:=xlAnd, Criteria2:="=*2018*"
这是当我收到有关语句预期结尾的错误时。
有人可以帮我解决这个问题吗?
谢谢 -詹姆斯
答案 0 :(得分:-1)
您的字符串中未转义“(应加倍):
Sheets("Opportunity Created Month").Select
ActiveCell.Offset(0, 8).Columns("A:A").EntireColumn.Select
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, _
Criteria1:= "=TEXT(TODAY( ),""M"")-1)*", Operator:=xlAnd, _
Criteria2:="=*2018*"
我不知道Criteria1
是否接受公式...
也许可以尝试以下方法:
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, _
Criteria1:= "=" & (Format(Date,"m")-1) & "*", Operator:=xlAnd, _
Criteria2:="=*2018*"