Tag: autofilter

使用AutoFilter过滤固定数量的数据

我想只过滤一个固定数量的数据。 我正在实现在这个WebPage上发布的代码,它完美的工作,但它过滤所有包含“Item1”和“Approved”的数据。 例如,我想要做的是只用给定的条件过滤5行数据,而不是全部过滤。 Private Sub CommandButton1_Click() Dim OriginalData As Worksheet, FilteredData As Worksheet Set OriginalData = ThisWorkbook.Worksheets("Sheet1") Set FilteredData = ThisWorkbook.Worksheets("Sheet2") With OriginalData If .AutoFilterMode Then .AutoFilterMode = False With .Cells(2, 1).CurrentRegion .AutoFilter field:=1, Criteria1:="Item1" .AutoFilter field:=2, Criteria1:="Approved" With .Resize(.Rows.Count – 1, Columns.Count).Offset(1, 0) If CBool(Application.Subtotal(103, .Cells)) Then .Copy Destination:= _ FilteredData.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) End […]

VBA:禁用源工作簿中的macros

如何禁用“源工作表”中的macros? With ThisWorkbook ' enable this workbook Sheets.Add.Name = "Flow_table" ' add worksheet to be used here Sheets.Add.Name = "TP_loc" ' add worksheet to be used here ActiveSheet.Range("A1").Value = TextBox1.Value 'get the location of the source ActiveSheet.Range("B1").Value = TextBox2.Value Set Source = Workbooks.Open(TextBox1.Value) Set Source_flow = Source.Worksheets(TextBox2.Value).Columns("A:L") Set target_flow = ThisWorkbook.Worksheets("Flow_table").Columns("A:L") ' **Insert a code […]

根据其他工作表标准删除行

根据另一张工作表中的条件,我在Excel的工作表中有两个删除行。 条件表如下 Delete(Y/N) ReferenceID Y 1 N 2 Y 3 Y 4 N 5 数据表如下 Name ReferenceID John 1 Andy 2 Mary 3 Anna 4 Rony 5 根据删除(是/否)栏的forms,我必须删除约翰,玛丽和安娜,参考ID 1,3和5 我在这里查看了另一个解决scheme示例,但情况似乎来自同一张表。 我不知道如何根据适用的参考文献从另一张纸上进行工作。 任何想法如何做到这一点。

清除细胞,同时保留自动filter设置?

我正在为其单元格基于Access数据库填充的工作表编写脚本。 我试图清除工作表的内容而不删除用户设置的任何自动筛选器,然后重新加载数据库上的数据。 现在我正在使用: Sub populateSheet() Dim sht As Worksheet Dim db As Database Dim rs As Recordset Set db = OpenDatabase("c:\myDB.mdb") Set rs = db.OpenRecordset("myData") Set sht = ThisWorkbook.Sheets("my output") With sht .Cells.value=empty For c = 0 To rs.Fields.Count – 1 .Cells(1, c + 1) = rs.Fields(c).name Next .Range("a2").CopyFromRecordset rs End With End Sub sub […]

自动filtermacros,用于在一系列数据中查找值 – 如果没有find数据,如何显示错误消息

我有一个电子表格,列有员工名单。 我想运行一个macros,当员工号码input到一个input框中时,这个macros将对特定员工进行筛选。 但是,如果号码不存在,我想要显示一个错误消息,给出再次尝试的选项。 我的尝试如下: Option Explicit Sub AmendWeeklyHours() 'Find employee number Dim EmployeeNumber As String Dim Continue As Boolean Dim aCell As Range Continue = True Do While Continue = True EmployeeNumber = InputBox("Please enter the employee number", "Enter Employee Number") If StrPtr(EmployeeNumber) = 0 Then '~~> User pressed cancel Exit Sub Else '~~> User […]

在Excel文件上应用筛选器 – VBA

我想将filter应用于名为“SearchData.xlsx”的文件,而不pipe文件是否打开。 我试过下面的代码,但它给出了例外。 Sub ApplyFilterInDataFile() IsOpen = False For Each wb In Workbooks If LCase(wb.Name) = "searchdata.xlsx" Then IsOpen = True End If Next If IsOpen Then Workbooks("SearchData").ActiveSheet.UsedRange.AutoFilter Field:=42, Criteria1:=Range("SearchName") Else Set wb = Workbooks.Open(ThisWorkbook.Path & "\SearchData.xlsx") Workbooks("SearchData").Activate Workbooks("SearchData").ActiveSheet.UsedRange.AutoFilter Field:=42, Criteria1:=Range("SearchName") wb.Close SaveChanges:=True Set wb = Nothing End If End Sub 我需要专家的帮助。

Excel VBA自动筛选>删除空行

我们有一张表格用于分析详细的招标stream程,并希望删除任何空行。 每个项目的范围可能不同,最多可能有170列和6000行。 我已经testing的代码正在工作,在一个约。 40列和4750排,只需要10分钟就可以跑了。 寻找任何稍微优雅的解决scheme,以使这一次。 目前的代码将自动筛选每一栏的空白,想知道是否是空的列被过滤是放缓整个事情? 在下面的代码中,我删除了大多数的自动筛选字段以便于查看,但是它从1-175过滤每个字段。 Sub DeleteEmptyRows() With Sheets("Detailed Comparison") Application.DisplayAlerts = False .AutoFilterMode = False Application.ScreenUpdating = False With .Range("F24:FY6000") .AutoFilter .AutoFilter Field:=1, Criteria1:="=" .AutoFilter Field:=2, Criteria1:="=" .AutoFilter Field:=175, Criteria1:="=" End With With .Range("F25:FY6000").SpecialCells(xlCellTypeVisible).Rows.Delete End With Application.DisplayAlerts = True .AutoFilterMode = False Application.ScreenUpdating = True End With End Sub

Excel VBA检查数据的自动筛选

我需要帮助检查不包括标题的自动筛选的行。 我希望它给一个消息框“找不到logging”。 然后退出sub或继续复制粘贴,如果有超出标题行的行。 我知道我需要一个If / Else条目来筛选数据,但我无法确定如何检查。 此代码正在从我创build的用户窗体button完成。 这是我的脚本: Private Sub Searchbycompanyfield_Click() If CompanyComboBox1.Value = "" Then MsgBox "Please enter a Company to begin search." Exit Sub End If ActiveSheet.Range("$A:$H").AutoFilter Field:=1, Criteria1:=EQDataEntry.CompanyComboBox1.Value, Operator:=xlOr Cells.Select Selection.Copy Sheets("Sheet2").Select Range("A5").Select ActiveSheet.Paste Call MessageBoxYesOrNoMsgBox End Sub 任何帮助将不胜感激。

Excel VBA条件筛选器

简单的VBA问题。 我需要一个VBA子例程,它将根据条件(在这种情况下,如果列C中的内容等于11-Jun-12 [数字forms的41071])过滤掉我的数据,而不循环整个数据集。 我在网上看了一下过滤,但没有什么似乎是我想要的(或者我只是不明白发生了什么事)。 要清楚,这是一个我想要的例子: 我想要http://imgur.com/qebVv 去http://imgur.com/zDncq 。 谢谢!

VBA中的自动filter将条件作为一系列单元格

我想在vba中使用autofilter过滤使用单元格值的dynamic范围。 ActiveSheet.Range("$A$1:$I$954092").AutoFilter Field:=1, Criteria1:=???? _ Operator:=xlFilterValues 我想要使​​用一个dynamic范围的单元格 Range("A1",Range("A1").End(xlDown)) 你能build议如何指定这个? 我曾尝试将以下内容传递给Criteria1: Range(###).Value Array(Range(###)) 等等 防爆。 Col1 Col2 Col3 Col4 —————————- A 1 3 Y B 3 3 N A 2 2 N C 6 1 Y B 9 3 Y 我想在Col1过滤出值为A和C的行。