Excel VBA-高级过滤器

Excel VBA-高级过滤器,vba,excel,Vba,Excel,我试图在VBA中动态过滤一个范围,而我使用的VBA不起作用,但我看不到逻辑原因。为了解释,我在题为“Full Stock Report”的表格中有一系列数据,其大小将发生变化,但我在本例中静态设置了它。。。我试图通过一系列标准对其进行过滤,这些标准位于一张由“Spitfire Aval Locations”发起的工作表的某个范围内,这也是动态的,但在本例中,我再次将其设置为静态的。这听起来很简单,但下面的代码行应用了一个过滤器,但没有结果(我已经检查过了,我知道有很多应该从这个过滤器中出现) 我

我试图在VBA中动态过滤一个范围,而我使用的VBA不起作用,但我看不到逻辑原因。为了解释,我在题为“
Full Stock Report
”的表格中有一系列数据,其大小将发生变化,但我在本例中静态设置了它。。。我试图通过一系列标准对其进行过滤,这些标准位于一张由“
Spitfire Aval Locations
”发起的工作表的某个范围内,这也是动态的,但在本例中,我再次将其设置为静态的。这听起来很简单,但下面的代码行应用了一个过滤器,但没有结果(我已经检查过了,我知道有很多应该从这个过滤器中出现)

我的第二个问题是相关的,这个VBA语句如何指示要过滤范围中的哪一列?(我担心这可能是我的问题……)


要筛选的列是您调用的第一个.Range.AdvancedFilter。您发布的代码将过滤A列到F列。如果您只想根据A列中的值进行过滤,它看起来更像这样:

Sheets("Full Stock Report").Range("A1:A20623").AdvancedFilter _
       Action:=xlFilterInPlace, _
       CriteriaRange:=Sheets("Spitfire Aval Locations").Range("A2:A228"), _
       Unique:=False

我想我已经解决了这个问题。。。本质上,AdvancedFilter要求条件与数据集的格式和列标题相同。这对我没有多大帮助,但我可以预测它会起作用


我还预感到,使用指定条件的自动筛选可能是一个更好的选择…

在这种情况下,宏记录器可能会有所帮助。录制,做需要做的事情,停止录制并调整宏。我尝试过,但不幸的是,同样的结果,因此出现了困境,非常好的一点,谢谢,我期待着-但它如何知道要过滤的全部范围,尽管它对一列进行过滤?@ djdave022002——我不确定我理解问题-过滤隐藏了整行,所以你只需要包括你想要过滤的列与你的标准。另一个好点,APPLAGIGY我没有考虑到它没有过滤特定范围的事实,愚蠢的男生错误。我看到的是定义的范围,而不是认为它会隐藏整个行,而不考虑定义的范围。抱歉…抱歉--这是有道理的,但是尝试时不会产生任何结果,即使我知道主列表包含许多条件列表中存在的条目。我也尝试过这种方法,这就是解决方案!
Sheets("Full Stock Report").Range("A1:A20623").AdvancedFilter _
       Action:=xlFilterInPlace, _
       CriteriaRange:=Sheets("Spitfire Aval Locations").Range("A2:A228"), _
       Unique:=False