Tag: autofilter

逐个添加AutoFilter标准

我想添加AutoFilter标准到我的Excel表中单独的子。 我现在所看到的是这样的一个小东西 .AutoFilter Field:=deviceTypeColumnId, Criteria1:=[dScenarioIndependent], Operator:=xlOr, _ Criteria2:=[dSmartphoneDeviceType] 我想要的是一个方法先按Criteria1过滤,然后在另一个Sub中添加Criteria2到现有的AutoFilter。 在我看来,它应该是这样的: Sub firstSub .AutoFilter Field:=deviceTypeColumnId, Criteria1:=[dScenarioIndependent] end sub Sub secondSub .AutoFilter mode:=xlAddCriteria, Field:=deviceTypeColumnId, Criteria1:=[dSmartphoneDeviceType] 'I know that mode doesn't exist, but is there anything like that? end sub 你知道有什么办法来实现这一目标吗?

在基于VBA中另一个工作表中的值使用数组的数组时,无法过滤出一个工作表上的行

我的意图是有以下代码从我的“低CPM 1”工作表中编译数据到一个数组,然后过滤我的活动工作表基于此数组。 虽然macros似乎影响filter,但没有任何值被过滤掉。 任何帮助这个问题将不胜感激 Sub Macro1() Dim CPM1Array(0 To 300) As Variant For i = 2 To UBound(CPM1Array) CPM1Array(i) = Sheets("Low CPM 1").Cells(i, 2).Value Next i ActiveSheet.Range("$A$1:$H$251").AutoFilter Field:=3, Criteria1:=("<>1 to Ubound(CPM1Array)"), Operator:=xlFilterValues End Sub

具有多个条件的Excel自动filter

我正在尝试创build一个自动filter来执行下面的操作 开始于“4”或包含“2TWH”或包含“2TER” 我相信它会变成这样的样子 ActiveSheet.Range("$A$5:$H$10").AutoFilter Field:=2, Criteria1:="=4*", _ Operator:=xlOr, Criteria2:="=*2TWH*" 但我需要以某种方式还有一个标准3 for =“= 2TER ” 我做了一些Googlesearch,看到你可以将值存储到一个数组,然后调用数组值,但我无法以可用的方式将它们放入数组中。 有没有人能够提供一些援助呢?

Excel VBA:如何创build一个filter的例外自动filter?

我是新来的VBA和工作,我必须在两个特定的值(4400000000和5600000000)之间筛选数据的项目。 这对我来说很棘手,就是5500000000的一些人背后有字母,即5500000000 CST。 如何编写我的代码,使其包含这些数字(如果有字母在后面)。 如果这太模糊了,我怎么写我的代码,所以它包含CST的? 这是我的代码到目前为止: Sub macro5() Worksheets("info1").Range("A1").AutoFilter _ Field:=7, _ Criteria1:=">=" & 4400000000#, Operator:=xlFilterValues, Criteria2:="<5600000000, Operator:=xlFilterValues" End Sub

Excel VBA自动筛选arrays

我正在使用Microsoft Excel在VBA中使用AutoFilters。 我有一个问题,它如何处理数组进行过滤; 我已经淡化了我的原始上下文到一个简化的版本(最初希望能够理解这个问题): 在范围A1:A5的工作表中,假设我们分别有Fruit , Apple , Banana , Orange和Pear 。 已应用AutoFilter,使Fruit是列标题。 运行下面的代码将返回预期的结果( Apple , Banana和Orange但不是Pear ): Range("A1").Select ActiveSheet.Range("A1:A5").AutoFilter Field:=1, _ Criteria1:=Array("=*an*", "=*app*"), Operator:=xlFilterValues 在我正在处理的项目中,筛选条件作为stringvariables传递,如上所述。 问题是每一个标准都不是每一个都适用,所以有些标准不应该有效果。 例如: Dim A As String, B As String, C As String A = "=*an*" B = Empty C = "=*ap*" Range("A1").Select ActiveSheet.Range("A1:A5").AutoFilter Field:=1, _ Criteria1:=Array(A, B, C), Operator:=xlFilterValues […]

使用另一个表中的列中的值从Excel中删除行?

我正在一个有多列和大约6000行的Excel工作表。 Sheet1将包含主要信息(6000行和R列)。 Sheet2是我需要用于过滤/删除这些行的例外列表。 现在这是我正在使用,它只能find完全匹配。 我需要这个来查找sheet2中的例外,即使它们是另一个单词的一部分。 例如:当我运行它时,它会发现并删除每一行,只包含单词hello。 但不是你好世界或你好富。 我需要这个用hello world和hello foo来删除这一行。 我想这样设置,所以我可以简单地添加更多的项目到我的例外列表,并根据需要删除更多的行。 Sub CheckA() Dim LR As Long, i As Long With Sheets("IR Temp") LR = .Range("A" & Rows.Count).End(xlUp).Row For i = LR To 1 Step -1 If IsNumeric(Application.Match(.Range("A" & i).Value, Sheets("Exceptions").Columns("A"), 0)) Then .Rows(i).Delete Next i End With End Sub 我怎样才能使这个不太具体? 我知道它是如何工作,并find完全匹配,但我需要它来查找和删除该行,如果该值与任何其他字符的组合find它。

根据标准的自动筛选列 – 位数

到目前为止,我已经尝试过不同的autofilter选项,但似乎没有为我工作,我有许可证号码栏应该只有10位数字,并通过autofilter我试图find条目less于或超过10位数字, 我将该列转换为文本字段以便使用 ActiveSheet.Range("$A$1:$BN$235").AutoFilter Field:=12, Criteria1:="<>*??????????*"' 但这似乎并没有起作用,因为它给了我所有的条目,包括<> &= 10 digits , 我也试过了 criteria “">"10000000000"' &<90000000000 这也是行不通的(我改变了数字字段匹配的标准)我可以得到任何帮助什么是错误的,我在这里做,所以我可以纠正它

有没有办法查看哪些filter在Excel中处于活动状态,而不仅仅是渠道图标?

这个问题实际上是针对Excel的,而不是Excel的“编程”本身。 但是,如果在GUI中不可用,我会好奇的是,如果有VBA解决scheme(尽pipe我基本上没有VBA知识/经验)。 有没有一种方法可以查看哪些filter在Excel中处于活动状态,而不仅仅是查看渠道图标? 正如我所附的截图所示,一些电子表格可能有一些从可见屏幕延伸出来的列,所以很容易漏掉表示有效filter的漏斗图标。 (另外,我认为忽略这个图标可能相当容易,即使在几列中也是如此。) 理想情况下,会有某种列表显示哪些列/头被主动过滤。 谢谢。

从过滤的范围获取最后一行

当您的工作表中的数据被过滤时,如何查找最后一行数据? 我一直玩Special Cells和Visible Cells但无法find解决scheme。 我认为这一定是我下面的一些变化: … With ws LR = .Range("A" & Rows.Count).End(xlUp).Row .Range("A1:E" & LR).AutoFilter Field:=2, Criteria1:="=4" LRfilt = .Range("A" & Rows.SpecialCells(xlCellTypeVisible).Count).End(xlUp).Row Debug.Print LR Debug.Print LRfilt End With … 文件可以在这里find: wikisend.com/download/443370/FindLRFilteredData.xls 编辑: 与Siddharth讨论后意识到,我不希望Last Row属性,我需要find导致Sid的解决scheme下面的可见行数…

VBA LastRow计算不起作用

我有一个自动筛选的工作表,从单元格B3开始。 列A包含一些macrosbutton,但实际上是空白的。 前两行包含有关主范围内数据的信息。 在VBA中,我使用我认为是确定工作表中最后一行的标准方法(在这种情况下,我不能依赖单列上的.End方法): LastRow = Activesheet.Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row 但是,有时这会返回一个值,即使我有数千行数据。 它似乎只有当有filter设置(但仍然有数据可见行),但即使这样并不总是发生,我看不到一个模式。 我知道还有其他的解决办法 – 我已经改为UsedRange技术,但是这个特殊的失败是非常令人沮丧的,因为在这种情况下它是最有效的。 有谁知道为什么会这样呢?