【发布时间】:2012-12-05 13:15:28
【问题描述】:
我正在开发一个宏,其中我将数据透视表放在一起。
我的问题: 我无法让计算部分工作。每次我在 PivotField(18) 应该计算 .Function=xlCount 的阶段运行代码时都会出错。我得到的错误是“范围类的 1004 选择方法失败”。
我在网上和 MS 帮助部分找到的所有示例都是按照我设置代码的方式构建的。我错过了什么???
任何帮助都非常感谢......
我一天中大部分时间都在处理这个问题。以下页面 (Link) 非常有帮助,但并没有帮助我解决这个特殊问题。
' Start of PivotSpecific Formatting
Set pt = ActiveSheet.PivotTables("PT" & wsNewWorksheetName)
With pt
' Prevent AutoFormatting of Columns
.HasAutoFormat = False
' Hide Field Headers
.DisplayFieldCaptions = False
.TableStyle2 = "PivotStyleMedium2"
' Apply calculation to numbers and change Caption
With .PivotFields(18)
.Caption = "Demand"
.Function = xlCount
.NumberFormat = "#,##0"
End With
With .PivotFields(15)
.Caption = "Lowest OP"
.Function = xlMin
.NumberFormat = "#,##0.00"
End With
End With
更新 1:数据透视表的屏幕截图
更新 2:来自 bonCodigo 的测试代码 这是针对我的工作簿调整的代码。有了这个,我得到了一个运行时错误 91: 设置 pvField = pvTable.PivotFields(18)
Dim wkSheet As Worksheet
Dim pvTable As PivotTable
Dim pvField As PivotField
Set wkSheet = ThisWorkbook.Worksheets(wsNewWorksheetName)
Set pvTble = wkSheet.PivotTables("PT" & wsNewWorksheetName)
Set pvField = pvTable.PivotFields(18)
With pvField
.Caption = "Demand"
.Function = xlCount
.orientation = xlDataField
.NumberFormat = "#,##0"
End With
Set pvField = Nothing
Set pvTable = Nothing
Set wkSheet = Nothing
【问题讨论】:
-
你能告诉我们你的数据透视表是什么样子的吗?这段代码你期望得到什么结果?你只是在
.Function = xlCount中得到错误吗?.function = xlMin怎么样?你的.PivotFields(18)叫什么名字?你确定是count?还是像sum这样的其他东西? -
@bonCodigo 我在代码中的 .Function= 上都得到了它。我将上传表格的屏幕截图。
-
@bonCodigo PivotFields(18) 的名称是“Nachfrage”...但是,我不想使用该名称,因为该应用程序将在各种计算机上使用,并非所有计算机都将具有相同的语言设置...这意味着“Anzahl von”(英文为“Count of”)在运行宏时可能会导致问题。
标签: excel excel-2010 pivot-table vba