首页 > 解决方案 > ActiveWorkbook.Queries.Add 筛选条件

问题描述

我有一个代码,我在其中使用 ActiveWorkbook.Queries.Add 导入 CSV 文件。但是在导入时,我只需要过滤那些包含用户给出的值的行。下面是代码。我已经突出显示并加粗了我将过滤条件设置为[Object ID] = 140的部分。但我想要的是,而不是 [Object ID] = 140,我想要Object ID = xObjID,其中 xObjID 是从用户xObjID = InputBox(“Enter Object ID”)获取的输入。但它不起作用。有没有其他选择。请帮忙。

ActiveWorkbook.Queries.Add Name:=”S2KVTQ_VTQTimeTable”, Formula:= _

        “let” & Chr(13) & “” & Chr(10) & ”    Source = Csv.Document(File.Contents(“”” & xFileName & “””),[Delimiter=””,””, Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),” & Chr(13) & “” & Chr(10) & ”    #””Changed Type”” = Table.TransformColumnTypes(Source,{{“”Column1″”, Int64.Type}, {“”Column2″”, Int64.Type}, {“”Column3″”, type number}, {“”Column4″”, type datetime}, {“”Column5″”, type nu” & _

        “mber}, {“”Column6″”, Int64.Type}}),” & Chr(13) & “” & Chr(10) & ”    #””Removed Other Columns”” = Table.SelectColumns(#””Changed Type””,{“”Column2″”, “”Column3″”, “”Column4″”}),” & Chr(13) & “” & Chr(10) & ”    #””Renamed Columns”” = Table.RenameColumns(#””Removed Other Columns””,{{“”Column2″”, “”Object ID””}, {“”Column3″”, “”Value””}, {“”Column4″”, “”Date & Time””}}),” & Chr(13) & “” & Chr(10) & ”    #””Filtered Rows”” = Table.SelectRows(#””Rename” & _

        “d Columns””, each ([Object ID] = 140))” & Chr(13) & “” & Chr(10) & “in” & Chr(13) & “” & Chr(10) & ”    #””Filtered Rows”””

标签: excelvba

解决方案


推荐阅读