【问题标题】:Having issues with using COM Autofilter in AHK language在 AHK 语言中使用 COM 自动过滤器时遇到问题
【发布时间】:2020-06-02 07:13:39
【问题描述】:

我可以应用自动过滤条件,但过滤后的行不可见。但是,如果我转到高级过滤器,然后在已应用的过滤器上单击“确定”,则会出现结果。我不知道发生了什么,这是代码。

    try xl := ComObjActive("Excel.Application")
catch e
{
xl := ComObjCreate("Excel.Application")
}

wb_YTD := xl.Workbooks.Open(A_Desktop "\R&B YTD.xlsx")

if (WinExist("BnR Weekly Counts"))
wb_bnr :=  xl.Workbooks.Item("BnR Weekly Counts")
else
wb_bnr := xl.Workbooks.Open(A_Desktop "\BnR Weekly Counts.xlsx")

wb_YTD.Sheets(1).AutoFilter.Range.Autofilter
FormatTime, current_month, YYYYMMDDHH24MISS, M

criteria1 := "> " current_month "/9/" A_Year
criteria2 := "< " current_month "/11/" A_Year

wb_YTD.Sheets(1).Range("$A$1").AutoFilter(Field := 3,Criteria1 := criteria1, Operator := 1, Criteria2 := criteria2)

这里,第 3 列包含我要过滤的日期,条件 1 是 > 2/9/2020,条件 2 是

谢谢!

【问题讨论】:

  • 这看起来不像 VBA。

标签: excel autohotkey autofilter


【解决方案1】:

发现错误,条件“>”中的额外“空格”导致了此错误

工作过滤器代码:

FormatTime, current_month, YYYYMMDDHH24MISS, M ; To store the month count without extra 0
start_date := ">=" current_month "/9/" A_Year
end_date := "<=" current_month "/15/" A_Year

wb_YTD.Sheets(1).Range("A1:F10000").AutoFilter(Field := 3,Criteria1 := start_date, Operator := 1, Criteria2 := end_date)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多