2014-01-08 3 views
0

У меня есть код, приведенный ниже, из зарегистрированного макроса для создания сводной таблицы, для которой этот код доступен для следующей строки, которая будет присутствовать в листе " DONNEES», столбцы не будет увеличиваться только это похоже, что я могу установить его как„DONNEES R1C1: R65500C16“, но это может быть более правильным, с переменной, которую можно включить,Могу ли вы сделать переменную «SourceData: = _»

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

Спасибо-х заранее , С уважением,

ответ

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: = шт.

Смежные вопросы