Tag: filter

切片器更改数据透视表中的其他filter

在excel中设置切片机时遇到困难。 我有一个工作簿中的多个数据透视表(PT),它们连接到一台切片机。 一些PT有2个和3个filter组。 当我添加一个新的连接到切片机,或者,例如更改切片机的名称,一些filter在所有数据透视表中重置。 由于每次发生都必须重置,所以完全忽略了切片机的目的。 这里有一些打印屏幕来解释它更好。 切片机设置月份数(“O”)。 在工作PT中,可以看到filter设置为“MD”,“O”(位于切片机中)和“行标签”。 当我改变切片机中的东西时,PT改变“行标签”的filter,并且不起作用。 正如你可以看到在第二个PT打印屏幕上,PT没有显示任何值,但是其他的filter是好的。 我总是必须清除“行标签”的筛选器,然后再次select所需的值。 有没有办法解决这个问题,并使用切片机为此目的? 我将非常感激的帮助,因为我找不到解决这个问题的办法。 感谢您的帮助!

search某些文本的第一行,然后复制整个列

我对VBA相当陌生,在做一个看似简单的任务时遇到了很多麻烦。 我已经尝试了许多不同的代码使用这个网站,这是让我最接近我想要的,但它不会返回任何值。 这是我需要做的前提: 1)search工作表的整个第一行(A1,让我们说,Z1)的特定文本,如“closures” 2)如果在其中一列中find所需文本“Closed”,则复制该列中的所有值 3)将这些值从列中粘贴到另一个工作表(“Source_Workbook”)的J列 ****编辑**:我想列数据粘贴从第J行(10)行5后面的下一个空行开始粘贴。 在这种情况下,我使用“Offset”时遇到了麻烦。 另外,我只想要粘贴的值(保持粘贴数据的页面的格式)。 我的问题是,当我尝试执行“Range.PasteSpecial”时,此代码不断给我提供错误。 我希望我有正确的做法。 请让我知道,如果我能进一步澄清。 Dim rng As Range Dim cl As Object Dim strMatch As String strMatch = "Closed" 'Search first row for columns with "Closed" Set rng = Target_Workbook2.Sheets(2).Range("A1:Z1") For Each cl In rng If cl.Value = strMatch Then cl.EntireColumn.Copy Exit For With Source_Workbook2.Sheets(2) Sheets(2).Columns("J").Offset(5, 0).PasteSpecial […]

VBA筛选条件并遍历行

我正在阅读许多练习册,每本练习册都有超过5万行。 但是我只需要某些行的数据。 当我在工作簿中时,我正在尝试根据条件进行筛选,然后仅循环这些行,但不起作用。 ActiveSheet.ShowAllData 'Remove All Filters lastrow_ = ws.Range("A" & Rows.Count).End(xlUp).row ActiveSheet.Range("A2" & lastrow_).AutoFilter Field:=1, Criteria1:="=1" 'Filter on the Criteria 'Set The Range Set rng = Range("A1:P" & Cells(Rows.Count,"A").End(xlUp).row).SpecialCells(xlCellTypeVisible) 'Loop through the range For each row in rng 'do stuff 我已经在另一个代码片段中定义了行。 但是这不起作用。 它不循环只在filter中应用的行。 有什么build议么? 谢谢!!!

使用多个AND / ORfilter在Excel上进行高级过滤

我无法在Excel中使用多个“和”或“子句”来过滤我的文档。 我的文档有27000行和37列。 在第一个最初的行中,我设置了我的高级filter,我附上了一个如何设置我的高级filter的图片 。 我设置的filter产生的结果不是我想要的。 在我可读的forms中,我试图问:“0-30列中的哪些数字超过2,哪些数字在0-30列中高于2,在一个或多个后续列中低于.5 “。 我很感激任何花时间帮助我翻译我的人类可读格式为机器代码的人,如果您需要进一步的信息,请让我知道。

VBA在searchbuild议的用户窗体上筛选combobox

我用一些combobox创build了一个excel用户表单,附上了一个文档,解决了基本问题。 我想出了如何过滤/自动更新我的combobox,并减lessinput列表,而我开始在列表中键入。 然而,只要我select一个项目,我得到以下错误:“无法获得Range类的CurrentRegion属性”。 我已经尝试了许多不同的解决scheme来摆脱这个问题。 但是还是无法弄清楚这个最后的错误。 即使当我尝试使用“范围”,而不是“CurrentRegion”,我得到这些错误。 因为我想将这个特性应用到我的用户窗体上的所有combobox上,所以我把所有的东西放在类事件中。 我已经在网上find了一些东西,但是这些基本上都是在工作表上的combobox。 我喜欢主动更新用户表单上的数据。 我想我已经把我在网上find的所有东西都应用到了我现在有的代码中,但仍然需要解决这个最后的问题。 这是我的示例文件 非常感谢你! 最好的问候,马塞尔 Option Explicit Public WithEvents myCBox As msForms.ComboBox Dim data As Range Private Sub myCBox_Change() Set data = filter.Cells(1, 1).CurrentRegion ' filter.Activate With myCBox .DropDown ' FILTER list.Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="*" & .Value & "*" ' COPY filter.Cells.Clear list.Cells(1, 1).CurrentRegion.Copy Destination:=filter.Cells(1, 1) Set […]

应用filter,然后通过macros修改不同的列

参考下表,在“F”栏下有一个filter,其中有以下选项: 实验室,牙科,光学 现在,我需要的是筛选例如“F”列的实验室,然后自动填充“D”列的所有门诊病人。 接下来是再次过滤牙科在“F”列下,然后自动填充“D”列中的所有牙科。 那么同样的过程对于滤光器来说也是一样 我试图loggingmacros,下面是结果: Sub test() ActiveSheet.Range("$A$1:$S$2252").AutoFilter Field:=6, Criteria1:="Dental" Range("D3").Select ActiveCell.FormulaR1C1 = "Dental" Selection.FillDown ActiveSheet.Range("$A$1:$S$2252").AutoFilter Field:=6, Criteria1:="Optical" Range("D42").Select ActiveCell.FormulaR1C1 = "Optical" Range("D42").Select Selection.FillDown ActiveSheet.Range("$A$1:$S$2252").AutoFilter Field:=6 End Sub 但是,我不能使用这个logging,因为我的一些表单有不同的值,例如在单元格“D3”有时是光学的,不像上面的例子。 预先感谢您帮助我。

Excel:使用复印模式时,为什么高级filter会在提取区域下方删除值?

我希望StackOverflow是正确的地方要问,因为这不是VBA。 我正在使用高级filter将一些小数据库中的数据导出到发票中。 我想自动执行该导出操作,并且我认为最好的方式(不使用VBA)将使用高级filter。 它运作良好,但会清除目的地区域下方的所有文本,即发票本身。 这是打算发送给客户,所以我需要下面的问候。 这是为什么 ? 复制的数据根本不与问候语重叠,它们在下面几行。 谢谢!

使用AutoFitler(VBA)过滤符合条件的月份

所以从理论上讲,这个按月过滤date的概念应该可行,但事实并非如此。 我正在使用一个表单logging每个分配完成,然后用一个标准的格式进行date。 我很困惑,为什么这个代码不能计算这种forms的date。 表单中的每个月份的格式总是以x / xx / xxxx为单位数字表示,而xx / xx / xxxx表示两位数字的月份。 在我看来,find一个以每个月的angular色开始,然后数一数的单元格,对于我的需求应该是一个足够简单的概念。 问题是,当它计算基于这个filter的行时,它返回0.有谁知道发生了什么事? 谢谢! With iTable .AutoFilter .AutoFilter Field:=1, Criteria1:=tin .AutoFilter Field:=3, Criteria1:="=1/*" End With TData.Cells(i, 4).Value = iTable.Resize(, 1).SpecialCells(xlCellTypeVisible).Count – 1 With iTable .AutoFilter .AutoFilter Field:=1, Criteria1:=tin .AutoFilter Field:=3, Criteria1:="=2/*" End With TData.Cells(i, 5).Value = iTable.Resize(, 1).SpecialCells(xlCellTypeVisible).Count – 1

无法使用powerpivot中的VBA来过滤数据透视表

PivotSummary1 – 数据透视表 Table2 上面的数据透视表是从powerpivot生成的。 我有一个代码循环filter和执行任务,它适用于正常的数据透视表,但不是从powerpivot数据透视表。 我录制一个macros来执行一个filter,并试图重播,但它给了我运行时错误1004。 Macro2在正常数据透视表上工作,Macro1在powerpivot数据透视表上不起作用。 Sub Macro2() ' Macro2 Macro (Normal Pivot Table) ' ActiveSheet.PivotTables("PivotSummary").PivotFields("Name").ClearAllFilters ActiveSheet.PivotTables("PivotSummary").PivotFields("Name").CurrentPage = "A" End Sub Sub Macro1() ' Macro1 Macro (Powerpivot Pivot Table) ' ActiveSheet.PivotTables("PivotSummary1").PivotFields("[Table2].[Name].[Name]"). _ ClearAllFilters ActiveSheet.PivotTables("PivotSummary1").PivotFields("[Table2].[Name].[Name]"). _ CurrentPageName = "[Table2].[Name].&[A]" End Sub 这里有什么问题? 由于我不能引用它,我无法得到与正常数据透视表一样的结果。

macros以从另一个工作表中的活动单元格上进行筛选

我正在尝试使用另一个工作表中的值过滤一列。 我希望能够在Spreadsheet S1的B列中的任意位置点击,并且能够使用S1中同一行的列A的值在Spreadsheet S2的列A上进行过滤。 使用下面的代码,我可以使用单元格A3中的值筛选S2中的列A. Sheets("S2").Select ActiveCell.Select Selection.AutoFilter ActiveSheet.Range("$A$1:$N$100").AutoFilter Field:=1, Criteria1:= _ "=" & Sheets("S1").Range("A3"), Operator:=xlAnd 结束小组 我希望能够使用下面的代码,以便能够从ActiveCell左侧的列A中select值,而不是说A3(如上面的代码中所示)。 ActiveCell.Offset(0, -1).Select ActiveCell. Select Selection.Copy 我应该使用什么作为Criteria1:=能够实现这一点。 使用"=" & ActiveCell .Value, Operator:=x1And让我使用S2中的值,但是"=" & Sheets("S1").Range(ActiveCell. Value), Operator:=x1And给出一个错误。