2014-01-08 116 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中:=件。

相關問題