Tag: autofilter

使用多个不连续的单元格值过滤另一个工作表中的数据

我已经四处寻找过去几天来find答案,但还没有find任何涉及我的查询的所有方面。 我希望这里的某个人能帮助我/指引我正确的方向! 基本上,我在一个工作簿中的两张不同的工作表中有一个商店列表和一个客户列表(每个客户已经访问过的商店),包括一对多的关系。 我希望能够通过select商店列表中的商店来dynamic地过滤客户列表,尽pipe目前为止只能使用以下代码过滤一个值(商店): Private Sub Worksheet_SelectionChange(ByVal Target As Range) If ActiveCell.Column = 1 Then Sheet2.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=ActiveCell.Value Sheet2.Activate End If End Sub 当然,这当然只是一个商店需要被select的解决scheme。 我需要做一个非连续的细胞select,我将如何解决这个问题? 任何帮助将不胜感激!

C#,打开excel文件,并应用filter来检索特定的行?

问题:我的代码总是返回一行而不是13。 码: Excel.Application xlApp = null; Excel.Workbook xlWorkBook = null; Excel.Worksheet xlWorkSheet = null; Excel.Range xlrange = null; string sCurrentDir = Directory.GetCurrentDirectory(); xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(sCurrentDir + @"\Res\res.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlrange = xlWorkSheet.UsedRange; xlrange.AutoFilter(5, "4", Excel.XlAutoFilterOperator.xlFilterValues, Type.Missing, true); […]

循环macros在步骤抛出时工作,但在自动运行时失败

我在理论上创build了一个macros来存储一个string作为variables,然后使用多个循环来自动过滤每个工作表中的每一列,并删除所有行中的string。 当击中F8来通过macros一切似乎工作正常,直到macros结束。 然而,只要我尝试只是运行button,它只能在选项卡,我有我想通过macros的初始单元格select的作品。 我正在运行Excel 2016,如果这有什么区别。 Sub Delete_Selection() Dim Selection As Range Dim Search As String Dim ColumnCount As Long Dim WS As Worksheet Dim J As Integer Set Selection = ActiveCell Search = Selection For i = 1 To Sheets.Count With Sheets(i) .AutoFilterMode = False Set WS = ActiveSheet ColumnCount = WS.Cells(2, WS.Columns.Count).End(xlToLeft).Column With .Range("A1").CurrentRegion […]

在AutoFilter上运行macros并在新工作表中显示数据

其实我想要做的,我有以下数据与自动过滤, – >我想为每个从过滤.ie中select的唯一名称创build新工作表,如果select了John和Alex,那么应该为John创build2个新工作表,并为Alex创build2个工作表,并且每个工作表显示自己的数据(Name + No + R)。 当下次如果主表得到更新,那么当我运行macros时应该附加新闻数据。 我使用下面的代码,但它不工作100%。 Sub mycar() x = 2 Do While Cells(x, 1) <> "" If Cells(x, 1) = "John" Then Worksheets("Sheet1").Rows(x).Copy Worksheets("Sheet2").Activate eRow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row ActiveSheet.Paste Destination:=Worksheets("Sheet2").Rows(eRow) End If Worksheets("Sheet1").Activate x = x + 1 Loop End Sub – >这里只复制单引号中引用的数据。 – >第二次,如果我运行这个代码,它再次附加相同的数据与新的数据。 帮我避免这个错误。 谢谢。

在编码中自动filter写入function不像macros中logging的那样

我在这里面临一个问题。 formula = "=CONCATENATE(""ML"",MID(cell(C),2,1),MID(cell(C),4,5),""M"",RIGHT(cell(C),2),""_"",LEFT(D52,1),""_Q"")" ActiveSheet.Range("$H$2:$H$1048576").AutoFilter Field:=8, Criteria1:="=SAMP" 'exclude the header Range("A1").Select ActiveCell.Offset(1, 0).Select ActiveCell.FormulaR1C1 = formula 'Range("A2").AutoFill Destination:=Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row) Selection.FillDown 我试图用这个编码过滤我的列H. 过滤后,我想用公式填写这些单元格。 那是我的公式在那里的任何问题,它可以执行,但不像我所期望的那样工作。 而这个代码虽然是像macros一样的。 但是当它运行时,数据行显示不像我用macroslogging一样。

使用可变Criteria VBA的自动filter

我正在尝试使用variables在工作表上放置一个自动filter,但它不工作。 Dim Criteria As Object i = 1 Set Criteria = ActiveSheet.Cells(i, 1) MsgBox (Criteria.Value) ' this returns BC01.03 但是,当我尝试过滤“Criteria.Value”没有返回任何东西。 Selection.AutoFilter ActiveSheet.Range("$A$1:$BM$204").AutoFilter Field:=2, Criteria1:=" & Criteria.Value & " 请指教。

find第一个可见的单元格,并获得参考

我试图select第一个可见的单元格后,使用自动筛选器。 If First.AutoFilter.Range.Columns(1).SpecialCells(xlVisible).Count – 1 > 0 Then Range("A1").Select Do ActiveCell.Offset(1, 0).Select Loop While ActiveCell.EntireRow.Hidden = True 但是下一步我需要使用这个单元格,所以我需要它的行号和列号。 我怎么能得到它? (不使用lastrow和lastcolumn)

自动filter,然后xlcelltypevisibleselect空行

我是VBA和编程的新手。 我正在使用excel中的大型数据表 – 我的工作表通常有65K行。 我想要两列作为我的input,并有优秀的写公式输出到两个新的列。 我不需要为所有行执行此操作,所以我试图过滤我的数据,并将计算输出仅应用于剩余的可见单元格。 但是,我的代码似乎在底部添加了一堆额外的空白行(行计数为145K!),然后尝试计算这些行,从而导致macros挂起。 我如何解决这个范围select问题? 另外,有没有更好的方法来进行分类? 谢谢! Sub CalcSpec() Dim s As Worksheet For Each s In ActiveWorkbook.Sheets If (Left(s.Name, 7) = "Channel" And Right(s.Name, 1) = "1") Then s.Activate UserMassInput.Show 1 'Sets up value in R2C21 referenced later 'Select only relevant data from cycles 1-5 With ActiveSheet .AutoFilterMode = False .Range("A1:Q1").AutoFilter […]

无法将自动筛选的范围值转换为数组 – 只做第一个

只返回已过滤单元格的返回列表的第一个值。 否则工作,如果我不使用过滤的单元格: Dim tmp, tmpfilter As Variant ' returns the list of cell values tmp = teamRosterSheet.Range("D2", teamRosterSheet.Range("D2").End(xlDown)).Value ' returns 3 Debug.Print teamRosterSheet.Range("D2", teamRosterSheet.Range("D2").End(xlDown)).Cells.SpecialCells(xlCellTypeVisible).Count ' but only returns the first cell value and not all three other cells in my example (filtering is working ok as I can see the 3 non-contiguous rows only been […]

另一个工作簿的AdvancedFilter Criteriarange

我正在尝试筛选列A(“名称”)中的名称列表,条件是列E(“主类别”)不是“IT”。 我可以完成名称过滤或者<> IT过滤,但是我不知道如何把这两个语句放在一起。 理想情况下,我希望代码在dynamic列表的另一封闭工作簿中查看条件信息。 这是我到目前为止。 Sub Macro1() ' Range("A1:A196").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Sheets("Sheet1").Range("A1:A59"), Unique:=False End Sub Sub Macro3() ' Range("E1:E196").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Sheets("Sheet1").Range("E1:E2"), Unique:=False End Sub 任何帮助在这个方向将不胜感激!