Tag: autofilter

VBA Excel autofiltermode = false不closures自动filter

已经使用activesheet.autofiltermode = false和 dim Myworksheet as worksheet Myworksheet.autofiltermode = false 也没有删除自动筛选器,我也事先使用Myworksheet.ShowAllData 。 使用Office 2013 Professional Plus

C#Excel高级自动筛选排除值列表

我想申请自动筛选器使用C#在Excel中的列,但只想显示不等于指定列表的值。 原始列表如下所示: 我想过滤符合以下标准"<>apple"和"<>orange"应该导致一个列表,看起来像这样: 但是,使用下面的代码只显示了我之后的反向: private void ActivateAutoFilter() { this.Range["A1", "C1"].Value2 = GetArrayFromList(new List<string>() { "H1", "H2", "H3" }); this.Range["A2", "C2"].Value2 = GetArrayFromList(new List<string>() { "apple", "apple", "apple" }); this.Range["A3", "C3"].Value2 = GetArrayFromList(new List<string>() { "orange", "orange", "orange" }); this.Range["A4", "C4"].Value2 = GetArrayFromList(new List<string>() { "pear", "pear", "pear" }); Microsoft.Office.Tools.Excel.NamedRange my_named_range = this.Controls.AddNamedRange(this.Range["A1", "C1"], "MY_NAMED_RANGE"); string[] […]

AdvancedFiltermacros在AutoFilterclosures的情况下运行速度较慢

我一直在试图理解一个同事在网上find的一个macros,用于根据选定的标准过滤一组数据。 部分代码是一个IF语句,检查AutoFilterMode是否closures,如果发现它closures,则将其切换,如此 'Turn on filter if not already turned on If Sheets("ORDER DATA").AutoFilterMode = False Then rng.AutoFilter 紧接着的一行使用.AdvancedFilter根据选定的标准过滤数据(一个范围称为filter) rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=filter, Unique:=True 我相对强迫症是想把事情清理干净,所以我想我会摆脱第一个陈述,因为这似乎没有必要。 自从消除它之后,我发现,如果第一条语句被消除,过滤过程将花费更长的时间。 我在网上search高低,但一直没能find什么之间的关系AutoFilter和AdvancedFilter是。 所以我的问题是这样的:为什么AdvancedFilter需要这么长的时间才能运行,而不是第一次打开AutoFilter?

我如何获得自动filter字段指示器来指示正确的列?

我有一个电子表格/ 30左右的列。 我的目标是过滤基于1列的设置,我的方法是指定一个范围就是该列,然后过滤该范围。 我确实有自动filter的每一列,当我指定一个字段:= 1的Excel中挑选第一列…这是我的范围之外。 所以它总是试图根据需要过滤列“A”…而不是列“U”。 我误解了如何使用这个字段? 我虽然是在一个范围内的偏移量。 这是一个简单的例子 Dim r As Range Dim sheet As Worksheet Set sheet = ThisWorkbook.Worksheets("test") sheet.Range("u1:u9").AutoFilter field:=1, Criteria1:="Will" 作为一边…有没有办法获得与列字母关联的列号? 例如U – > 21.如果是这样,我可以select整个电子表格作为范围,做一个21的偏移量

Excel VBA自动筛选百分比

我想获得密度百分比大于60%但小于90%的总行数。 我正在通过VBA在密度列(百分比格式)上添加filter: With ActiveSheet .AutoFilterMode = False With .Range("A3:EB3") .AutoFilter .AutoFilter Field:=98, Criteria1:=">9" .AutoFilter Field:=99, Criteria1:=">2014" .AutoFilter Field:=23, Criteria1:=">60%" .AutoFilter Field:=23, Criteria1:="<90%" End With End With 但自动filter不显示行

自动筛选特定标准使用VBA

我正在尝试使用VBA自动筛选项目。 问题是每个列表项都在它们之间有斜杠。 例如(ABC / EFG / HIJ)。 我想拉出只包含string“ABC”的列表项,无论是单独列出还是与其他string项一起列出。 例如,如果一个列表项目(ABC / EFG)和另一个列表项目说(ABC),我希望这两个项目,因为这两个项目都包含ABCstring本身。 这是我迄今为止: Sub FilterByABC() 'Change this to the relevant worksheet Set ws = ThisWorkbook.Sheets("ABC") Worksheets("ABC").Range("A1").AutoFilter , Field:=1, Criteria1:="ABC" Operator = xlFilterValues Range("A1").Select Columns("A").Copy Sheets("ABCData").Select Columns("A").Select Worksheets("ABCData").Paste End Sub

如何使Selection.AutoFilter从第3行开始,而不是第1行

我有这个代码: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Application.ScreenUpdating = False If Target.Value <> "" Then Set wbks = Workbooks.Open("\\MyPath\Workbook.xlsx") wbks.Sheets("Control").Activate ActiveSheet.Range("A1").Select Selection.AutoFilter Selection.AutoFilter Field:=7, Criteria1:=Target.Value '7 is the filter # column End If End Sub 只有在工作表control中的标题位于第1行时才能正常工作。 我的问题是\\MyPath\Workbook.xlsx是一个只读文件,它的标题从第3行开始。

错误1400:没有这样的细胞满足标准

以下是应用filter后复制数据的代码。 Sub read_excel_file(path_to_current_work_book As String, path_to_destination_workbook As String) Dim work_book As Object Dim destination_workbook As Object Dim i, m As Integer Dim array_of_account_numbers() As Variant Dim array_of_debit_or_credits() As Variant Dim current_sheets As Worksheet Dim buf_rng As Range array_of_account_numbers = Array("1400", "1401", "1402", "1403", "1410", "1411", "1412", "1413", "1414", "1420", "1421", "1422", "1423", "1424", "1430", "1440") […]

在AutoFilter后删除空白行

我在我的Excel表中有以下代码: Sub DeleteRows 'Filter CMReport to delete (Blank) rows. With ActiveSheet .AutoFilterMode = False .Range("A1:G1").AutoFilter .Range("A1:G1").AutoFilter Field:=1, Criteria1:="=" .Range("A1:G1").Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete End With End Sub 它将过滤空白行,但不会删除它们…它说没有行被选中。 我究竟做错了什么。

同一个EPPlus工作表的多个自动filter

我使用EPPlus创build一个xlsx文件,并希望所有头文件都有自动筛选器。 我这样设置自动filter: worksheet.Cells["A3:G" + (3 + data.Count).ToString()].AutoFilter = true; 这仅适用于一个内容表格。 但是,我在同一个工作表中有两个单独的表格,当试图为第二个表格设置自动筛选时,第一个自动筛选器消失。 任何已知的解决方法,或其他build议?