Tag: autofilter

如何在Excel中使用VBA循环访问Autofilter?

这里是我在Excel中使用的两张表的一个例子: 表A(Columns AP): Loc_ID Loc_Name First Last … … … 123456 ABXC – Sales John Smith 123456 ABXC – Sales Joe Smith 123456 ABXC – Sales Larry Smith 123456 ABXC – Sales Carolyn Smith 654321 ABXC – Sales Laura Smith 654321 ABXC – Sales Amy Smtih 表B(列AZ – 每个首字母缩略词至less有一个Loc_ID,最多可以有25个): ABC CBA AAU … … … […]

从过滤的数据的最小值的行中删除filter/复制数据时,优化代码以更快获得乐趣

我有第1页(115行)第1和第2列的数据。 这些是我的参考价值。 我在ActiveSheet(10000+)列3和4中有数据。 这些是我的原始数据值。 我有下面的代码将find最接近的原始数据值的参考值通过取得差异,find0和15分钟之间的值,find最小值,并从该行复制到另一个位置的其他数据。 我在过程中使用了2个自动filter来为每个参考值做这个,所以它发生了115次。 我的问题如下: 是添加/删除filter减慢我的search? 我应该只查看所有10,000个数据值,而不是先在同一天过滤? 当我find过滤列表的最小值的值时,是否有更好的方法来快速复制同一行的其他列的数据? 我在这段代码的最后添加了一个计时器来帮助量化。 我希望你能帮助! Sub UpdatedTimeMatcherwithFilters() 'Make the code as fast as possible Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Dim MinValue, MinRow As Integer Dim searchRange, Rng As Range Dim elapsedTime As Integer startTime = Time Set searchRange = Range("G1:G1697") 'Count the reference values TotalRefVal = Worksheets("Sheet1").Cells(Rows.Count, […]

Excelmacros将参数包含在Range中

我想写一个Excelmacros,这里简要介绍一下它是什么1)打开一个Excel文件使用input参数,位于共享网站。 2)基于input参数进行过滤。 3)将过滤后的值复制到新的电子表格中并对其进行sorting。 我在写select范围时看到问题。 BuildID是input参数 '将列号转换为列名称 ColNo = BuildID + 2 colnm = Split(Cells(, ColNo).Address(True, False), "$") “下面的部分将过滤”信息“选项卡上的第6行,只复制标记为”更改“或”input构buildID“的”新build“ Rows("6:6").Select Selection.AutoFilter MsgBox (colnm) cColNm = "colnm" & 6 MsgBox (cColNm) Range("cColNm").Select ActiveSheet.Range("$A$6:$IR$46").AutoFilter Field:="ColNo", Criteria1:="<>" Range("A7:B45").Select Selection.Copy 第一个msgbox,我得到一个types不匹配的错误。 (colnm工作正常,可以在即时窗口打印,但不能存储到任何地方的debug.print函数)一个类似的msgbox在我以前的程序 有人可以帮我指出这是什么错?

VBA autofilter返回不完整的列表

我正在尝试基于另一个工作表中的单元格值过滤工作表。 相应的值是我的第二张表h列中的名称。 目前它对数据进行过滤,但只返回1行与filter_val有关的数据,尽pipe有9行数据。 Sub filter_DMA_2() '' will be set to the combobox when that's figured out Dim filter_val As String Dim filter_range As Range Dim Lrow As Long Set Billed_xls = Workbooks("Copy of SWR1304 (Future Development Risk Assessment) Strathaven.xls").Sheets("Non Household Metered Users") With Billed_xls Lrow = .Range("a" & Rows.count).End(xlUp).Row End With 'Set filter_range = Billed_xls.Sheets("Non […]

创build一个自动filter代码

早上好, 我相当新的VBA,并寻求一些帮助编写我的表的自动filter代码。 Tariffs | SME100 | Enterprise | CustomerLoyalty | AccountManage ————+———–+—————+——————-+——————- Voda Red | 1 | 1 | 0 | 1 Voda 1G D | 1 | 0 | 1 | 0 1* eligible to sell 0* not eligible sell 我试图编写一个代码,从validation框(“B2”)中获取值,并自动过滤该销售渠道的特定列,以获得符合条件的关税。 我目前的代码是: Sub Filter() Dim strRange As String strRange = "B" Dim b As […]

Excel VBA自动筛选器取消选中/排除项目

快速的问题,我怎样才能通过VBA排除列表中的项目。 一直在工作表上自动打印出一个列表没有一定的date。 Rows("2:2").Select Selection.AutoFilter ActiveSheet.Range("$A$3:$H$1000").AutoFilter Field:=3, Criteria1:="Hans" ActiveSheet.Range("$A$3:$H$1000").AutoFilter Field:=7, Criteria1:="open" ActiveSheet.Range("$A$3:$H$1000").AutoFilter Field:=6, Criteria1:="<>1/0/1900", Operator:=xlFilterValues ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Rows("3:3").Select Selection.AutoFilter 问题是这个标准不能用date0-1-1900来过滤掉。 我究竟做错了什么?

循环中的自动filter首次缓慢运行,然后迅速运行?

事情要知道 : 从这里的Crosspost: http ://www.mrexcel.com/forum/excel-questions/843474-visual-basic-applications-why-does-autofilter-loop-run-slowly-first-time-then-rapidly-after 。 HTML Excel 2010 第二个被过滤的文本文件与第一个文件类似 – 都使用Excel表格中除了一行以外的每一行,并覆盖了33列。 (第三个是小得多,我不惊讶看到它需要更短的时间) 我有完整的macros可用,如果需要,但发布指导方针说,以尽量避免发布不必要的代码 我正在努力实现的是 : 理解和解决为什么下面的代码段,自动filter,需要25分钟在第一个循环运行,但需要更less的时间(10秒)应该是一个类似的第二个循环,手动完成(也约10秒) 到目前为止我所做的是 : 使用定时器观察代码段在循环的每次迭代中执行多长时间。 第一次迭代需要25分钟 第二次迭代需要10秒钟 第三次迭代需要0秒(不奇怪,见上) 非常感谢您的帮助,请让我知道是否可以提供更有用的信息。 我试图尽可能简明但内容翔实。 Double1 = Now 'Delete Me 'Filter and delete dates before cutoff Long1 = Application.CountA(.Columns(8)) Set Range1 = .Range(.Cells(1, 8), .Cells(Long1, 8)) With Range1 .AutoFilter Field:=1, Criteria1:="<" & DateSerial(2012, 10, 1) […]

VBA AutoFilter隐藏所有行 – 包括符合条件的行

我将VBA AutoFilter应用于Excel表格中的某些结果。 它似乎编译正确,但是当我检查结果时,AutoFilter隐藏了两个匹配的行,并且不符合我应用的标准。 如果我手动select应用的自动filter,我看到我编码的标准是正确的input,并通过单击回车,标准匹配行显示。 我正在使用一个巴西葡萄牙语版本的Excel,不确定这可能是问题所在。 以下是我所尝试的: Sub FilterOff(ByVal thisSheet) thisSheet.Activate With thisSheet .AutoFilterMode = False .Range("A1:F1").AutoFilter .Range("A1:F1").AutoFilter Field:=4, Criteria1:=">0.01", _ Operator:=xlOr, Criteria2:="<-0.01" .Range("A1:F1").AutoFilter Field:=5, Criteria1:=">100" End With End Sub

Excel VBA – 应用自动filter和按特定颜色sorting

我有一个自动筛选的数据范围。 自动filter是由以下VB代码创build的: Sub Colour_filter() Range("A4").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Selection.AutoFilter End Sub 我想用下列颜色(Color = RGB(255,102,204))对“A”列中的数据进行sorting(数据实际上是从单元格“A4”开始的),因此所有具有该颜色的单元格sorting为顶部。 如果额外的代码可以添加到我现有的代码,这将是工厂? 我的办公室真的很吵,我的VB不是最好的。 笑得很难,聊天的女士们都是。 任何帮助将是救济天堂! (ps没有捅在女士们这只是我的办公室是95%的女性)。 每个请求由@ScottHoltzman编辑。 我所要求的代码构成了一个更大的代码的一部分,这会混淆事实,虽然这是我目前需要的一个瘦身版本。 Sub Colour_filter() ' Following code( using conditional formatting) adds highlight to 'excluded' courses based 'on 'course code' cell value matching criteria. Courses codes matching criteria are highlighted […]

自动筛选(或循环)并根据单元格值复制到另一个工作簿

我有一本硕士课本和几个孩子,简单地叫做Master和Child 1 , Child 2和Child 3 。 数据填入Master数据,需要分类,复制并粘贴到相关的子数据表中。 所有子工作簿的目标是桌面,所需的过滤只是第一列中所需工作簿的名称(也与每个工作簿的名称相匹配)。 我已经用下面的代码尝试了这个任务,这是我能够从几个地方拉到一起,但没有成功。 我认为,由于缺乏知识,我只是深入挖掘自己的洞,代码开始变得非常冗长: Private Sub CommandButton21_Click() Dim My_Range As Range Dim DestSh As Worksheet Dim CalcMode As Long Dim ViewMode As Long Dim FilterCriteria As String Dim CCount As Long Dim rng As Range Dim strActiveSheet As String Dim varCellvalue As String Dim fpath As String Dim […]