Tag: 数据透视表

Visual Studio Excel数据透视表不显示数据

我正在编写一个应用程序来在现有的Excel工作簿中添加数据透视表工作表。 代码如下: Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType); if (e.Name.StartsWith("~$")) return; Excel.Application oApp; Excel.Worksheet oSheet; Excel.Workbook oBook; oApp = new Excel.Application(); try { oBook = oApp.Workbooks.Open(e.FullPath); oSheet = (Excel.Worksheet)oBook.Worksheets.get_Item(1); //Excel.Range finalCell = oSheet.Cells[2, oSheet.Rows.Count]; Excel.Range oRange = oSheet.get_Range("A1", "M9"); if (oApp.Application.Sheets.Count < 2) { oSheet = (Excel.Worksheet)oBook.Worksheets.Add(); } else { oSheet = […]

错误1004“无法从pivottable获取pivotfield”

尽pipe这个话题已经出现了,但是就pivotfields中的错误1004而言,我只是没有看到这种情况,我需要解决这个问题,并且没有任何线索。 这是一个logging的macros代码: With ActiveSheet.PivotTables("SybusPivotTable").PivotFields("Lote") .PivotItems("0").visible = False .PivotItems("ERRO").visible = False End With With ActiveSheet.PivotTables("SybusPivotTable").PivotFields("Referência") .PivotItems("").visible = False .PivotItems("0").visible = False End With With ActiveSheet.PivotTables("SybusPivotTable").PivotFields("tipo_mov") .PivotItems("2").visible = False End With 我logging它,当一个macros运行…错误1004。 这是一个录制的代码,所以我期望它像一个魅力运行。 但不是。 err出现在第一行代码中。 任何线索? 提前致谢。

使用xlValueIsBetween作为pivot值的Excel VBA

我正在尝试创build一个模块,以在单个工作簿中的多个工作表上共享function。 除了一些过滤代码,所有的工作都很好。 下面的代码工作正常,如果我把它放在一个工作表中 ActiveSheet.PivotTables("PivotTable1").PivotFields("MyField"). _ ClearValueFilters ActiveSheet.PivotTables("PivotTable1").PivotFields("MyField").PivotFilters.Add Type:=xlValueIsBetween, DataField:=ActiveSheet.PivotTables _ ("PivotTable1").PivotFields("MyValue"), Value1:=bottom, Value2:=Top 但是,我想在我的模块中使用此代码,并发送以下内容: 数据透视表名称, 行数据透视图字段, Value Pivot字段 “之间”的价值 底部“之间”值 就像是: 表单调用 Call Mod_Filter("PivotTable1", "MyRowFieldName", "MyValueFieldName", 0, intvalue) 模块代码 Public Sub Mod_Filter(ByRef PT_Name As String, ByRef StaticField As String, ByRef Filter_field As String, bottom As Double, Top As Double) ActiveSheet.PivotTables(PT_Name).PivotFields(StaticField).ClearValueFilters ActiveSheet.PivotTables(PT_Name).PivotFields(StaticField).PivotFilters.Add Type:=xlValueIsBetween, DataField:=ActiveSheet.PivotTables _ (PT_Name).PivotFields(Filter_field), […]

更改数据透视表caching的值,而不更改源数据

是否有可能更改数据透视表caching中的值而不改变它在源数据(无论是Excel表或外部来源)? 是否有可能与caching本身工作,即像一个数组一样工作?

在Excel数据透视表中将不同的SlicerCache分配给切片器

我有两个数据透视表与相同的数据透视表和类似的切片器组。 一些切片器控制两个数据透视表,这意味着例如对于PivotField [月],共有共享相同的SlicerCache的2个切片器。 现在我需要“不同步”这些切片,以便每个控制它自己的数据透视表。 我不能右键单击切片机,并通过“数据透视表连接”,因为在一个切片机中所做的更改将反映在另一个。 所以我创build了一个新的SlicerCache: ThisWorkbook.SlicerCaches.Add ws.PivotTables(2), "[Month]" 并且想要将这个新的SlicerCache分配给其中一个切片器,但是这两种方法都失败了: oSlicer.SlicerCache = ThisWorkbook.SlicerCaches(38) 'Object doesn't support this property or method oSlicer.SlicerCache.Index = 38 'invalid property assignment 有任何想法吗? 我知道我可以通过删除和重新创build其中一个切片器来实现这一点,但是它必须以编程方式完成。

如何从VBA,Excel中select创buildPivot

我试着分析Excel如何从select中创build一个数据透视表。 看起来很简单。 我在文档中select整个范围,然后点击创build这个范围的Pivot。 这会产生以下代码: Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Keyword report!R2C1:R643841C25", Version:=xlPivotTableVersion15). _ CreatePivotTable TableDestination:="Sheet38!R3C1", TableName:="PivotTable2" _ , DefaultVersion:=xlPivotTableVersion15 我想在将来使用这个代码,但是我不想使用一个固定的引用到一个特定的范围,我希望Excel从select中绘制数据。 出于某种原因,这不包括在macroslogging中。 我不知道什么“R2C1:R643841C25”是或如何派生。 我的select是:A1:Y643841。 最大的问题是:如何将代码中的R2C1:R643841C25replace为“select”?

如何检测空白PivotItem的可见性

Excel工作表上有一个数据透视表。 它有一个名为“季节”的字段,它是一个有多个select和一些空白值的报告字段。 我想看看是否在filter(即可见)select空白值与下面的代码。 Sub ShowVisbilityOfBlankItem() Dim PivotField As PivotField Set PivotField = ActiveSheet.PivotTables(1).PivotFields("Season") Dim PivotItem As PivotItem Set PivotItem = PivotField.PivotItems("(blank)") Debug.Print PivotItem.Visible ' Runtime Error 13: Type mismatch End Sub 但是,最后一行会导致运行时错误13:types不匹配。 其他PivotItem不会发生这种情况。 这是Excel(2010)或我的代码中的错误? 还有另一种方法来确定空白是否可见? 可以设置空白PivotItem的可见性。 此外,本地窗口显示值为True的PivotItem.Visible ,无论是否可见。

在同一个excel列中分离数据

我有一个数据列中有多个值types。 我正试图分离出每个值types到一个单独的列。 下面是一个数据的例子: 6 – Cutler, Jay (Ovr: 83) 22 – Forte, Matt (Ovr: 88) 86 – Miller, Zach (Ovr: 80) 我尝试通过a)去数据并单击文本到列来分隔数据; 然而,数据的“Ovr:80”部分并没有将“Ovr”从80中分离出来。我也尝试过b)将其转换为.csv文件,但又无法将“Ovr”从“80”中分离出来。 有没有一个公式可以用来将这部分数据与其余部分分开? 我希望将数据分成不同的列,如下所示: 6 | Cutler, | Jay | Ovr | 83 22 | Forte | Matt | Ovr | 88 86 | Miller | Zach | Ovr | 80 任何有识之士都非常感谢!

按照一定的规则复制,订购和分组数据(创build运输服务单)

每天我都要订购一个客户列表,并将他们列入几种运输服务中。 所以从机场到他们预订的酒店。 这里是一个链接到名为“chegadas”的工作表的示例文件。 https://www.dropbox.com/s/xlcj9o1le44b2my/Transporte%20do%20aeroporto.xls?dl=1 过程如下: 1-按列VOO从A到Z的顺序(这是到达飞行数据) 2-按酒店区分组(在“酒店信息”表) 3-组直到8人(最大容量) 4-创build机场(起点)和每项服务的酒店之间的最短路线。 表“chegadas-2”有一个步骤1到3的例子。 对于第四步,我想创build一个距离matrix(如在“distâncias”表 – 缺less一些酒店)。 并使用像这样的解决scheme: https : //www.youtube.com/watch?v=-E3rSoClgMI 我知道我可以按照“Chegadas TD”这个表的forms将它们分组几小时,但是我仍然需要用8人分开,然后再排列最佳路线。 这是可能的Excel中自动使用VBA和/或公式? 先谢谢你!!!

按照固定顺序排列枢轴行标签

我希望我的macros按照一定的顺序(按季度/年 – 请参阅下面的代码)排列我的数据透视表的行标签。 一些数据,macros将被运行将不会包括任何所有行标签按照下面的代码 – 这就是为什么我插入“错误转到0”。 不幸的是,只有一些数据/宿舍使用下面的代码以正确的顺序排列。 任何人都可以帮助显示我做错了什么? With ActiveSheet.PivotTables("PivotTable1").PivotFields("Issue Quarter") On Error Resume Next .PivotItems("Q1 2014").Position = 1 .PivotItems("Q2 2014").Position = 2 .PivotItems("Q3 2014").Position = 3 .PivotItems("Q1 2015").Position = 4 .PivotItems("Q2 2015").Position = 5 .PivotItems("Q3 2015").Position = 6 .PivotItems("Q4 2015").Position = 7 .PivotItems("Q1 2016").Position = 8 .PivotItems("Q2 2016").Position = 9 .PivotItems("Q3 2016").Position = 10 […]