在数据透视表中指定特定范围

时间:2011-10-13 08:26:33

标签: excel vba

这是我为创建数据透视表时录制的宏。

     ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    "Sheet1!R2C1:R278C35").CreatePivotTable TableDestination:="", TableName:= _
    "PivotTable1", DefaultVersion:=xlPivotTableVersion10

这些宏为数据透视表报告创建了一个新的工作表,但我希望在指定的工作表中创建数据透视表说

 activeworkbook.sheets(2)

我猜测TableDestionation是你必须为创建数据透视表创建工作表名称的路径,但我不知道如何在那里设置路径

我也无法弄清楚如何在数据透视表中指定特定范围

  SourceData:= "Sheet1!R2C1:R278C35" ' how to specify a range using variables

我必须指定这些范围

 Sheet1.range("A2:AI" & last_row)

这里需要像这些

这样的defualt范围
 "Sheet1!R2C1:R278C35"

我对RC表示法很困惑,请帮我解决这些问题

1 个答案:

答案 0 :(得分:0)

您可以在应用程序中使用ConvertFormula,例如

Dim StrAddress As String

StrAddress = "sheet1!" & Application.ConvertFormula(Range("A1:Z300").Address, xlA1, xlR1C1)

Debug.Print StrAddress

在样品范围A1中:Z300以R1C1表示法转换,R是行,C是列,A1例如是ROW 1 COLUMN 1,Z300是ROW 300 COLUMN 26.

使用StrAddress创建数据透视。