'获取透视表对象
    Dim pt As PivotTable
    Set pt = Sheet1.PivotTables("数据透视表")
 '设置公式字段
        If InStr(formulaCol, "[" & DataFieldList(i) & "]") > 0 Then
            formulaStr = getFormulaValue(viewName, DataFieldList(i))
            pt.CalculatedFields.Add DataFieldList(i), _
                "=" & formulaStr, True
            With pt.PivotFields(DataFieldList(i))
                .Orientation = xlDataField
                .Caption = DataFieldList(i) & extStr
            End With
        Else这里的With pt.PivotFields(DataFieldList(i))
                .Orientation = xlDataField
                .Caption = DataFieldList(i) & extStr
            End With
我看不明白,是什么意思啊?

解决方案 »

  1.   

    .Orientation = xlDataField 
    .Caption = DataFieldList(i) & extStr 
    这两行不明白
    还有,如果我要加入xlAverage,怎么加入啊
      

  2.   

    Orientation 属性指定相应字段在 PivotTable 里的位置,在4个常数里取值:xlRowField, xlColumnField, xlDataField, or xlPageField.Orientation = xlDataField 
    表示把相应字段设置为数据字段,即在数据区显示该字段的内容。
      

  3.   

    .Caption = DataFieldList(i) & extStr这应该是设置字段的列标头
      

  4.   


    用 Function 属性。下例把 Pt 上的 Sum of 1994 字段设置为用 AVERAGE 函数:
    pt.PivotFields("Sum of 1994").Function = xlAverage
      

  5.   

     With pt.PivotFields(DataFieldList(i))
                    .Orientation = xlDataField
                    .Caption = DataFieldList(i) & extStr
                    .Function = xlAverage
                End With
    没有错吧
      

  6.   

    With pt.PivotFields(DataFieldList(i)) 
       .Orientation = xlDataField 
       .Caption = DataFieldList(i) & extStr 
    End With 等同于:
    pt.PivotFields(DataFieldList(i)).Orientation = xlDataField 
    pt.PivotFields(DataFieldList(i)).Caption = DataFieldList(i) & extStr