2014-01-08 85 views
0

我有下面的代码来自创建数据透视表的一个注册的宏,我的代码是这个代码可用于下一行,将出现在工作表“最近搜索”栏不仅会增加, 它看起来像我可以把它像‘最近搜索R1C1:R65500C16’,但它可能是更合适的,有一个变量,我可以包括,是否可以使“SourceData:= _”变量

`ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    "DONNEES!R1C1:R1553C16", Version:=xlPivotTableVersion10).CreatePivotTable _ 
    TableDestination:="Sheet2!R1C1", TableName:="PivotTable1", DefaultVersion _ 
    :=xlPivotTableVersion10` 

感谢的提前, Regards,

回答

1
Dim rng as Range 

Set rng = ActiveWorkbook.Sheets("DONNEES").Range("A1:P1553") 

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= rng, _ 
    Version:=xlPivotTableVersion10).CreatePivotTable _ 
    TableDestination:="Sheet2!R1C1", TableName:="PivotTable1", _ 
    DefaultVersion:=xlPivotTableVersion10 
0

我想你是误解了g什么是“_”。在VB中,“_”表示代码行在下面的行中继续。在相同的语句与他们删除:

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="DONNEES!R1C1:R1553C16", Version:=xlPivotTableVersion10).CreatePivotTable TableDestination:="Sheet2!R1C1", TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 

此外,当您看到类似“SourceType:=”这是允许非严格的参数顺序,而正常情况下一个函数在一个特定的顺序和你它的参数的VB的方式必须按此顺序传递它们,但“X:=Y”布局允许您告诉VB“Y的此参数值属于名为X的参数”。订单被忽视。 SourceType:="DONNEES!R1C1:R1553C16"真的只是说评为参数“SourceType”将获得价值"DONNEES!R1C1:R1553C16"

是的,你可以使用一个变量值的地方

MyVariable="DONNEES!R1C1:R1553C16" 
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=MyVariable, Version:=xlPivotTableVersion10).CreatePivotTable TableDestination:="Sheet2!R1C1", TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 

但是你不能动态地改变SourceType中:=件。

相关问题