Próbuję utworzyć tabelę przestawną, ale otrzymuję Invalid Procedure Call or Argument
.Jak utworzyć tabelę przestawną w języku VBA
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="rng", Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:="rngB", TableName:="pvtReportA_B", DefaultVersion:=xlPivotTableVersion14
rng
(źródło) jest zakres składający się z około 20 kolumny i kilku tysięcy rzędach.rngB
(docelowy) jest pojedyncza komórka w innym arkuszu
Czy ktoś może doradzić gdzie wezwę niewłaściwy?
EDIT:
moja wina, powinienem być za pomocą rngData
a nie rng
jako źródło.
Set rng = wsA.Range("C14")
Set rngData = Range(rng, rng.End(xlToRight))
Set rngData = Range(rng, rng.End(xlDown))
Set rngB = wsB.Range("C8")
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rngData, Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:=rngB, TableName:="pvtReportA_B", DefaultVersion:=xlPivotTableVersion14
Spowoduje to wyświetlenie ramki tabeli przestawnej.
więc wszystko dobrze? Pytanie zamknięte? – nutsch
Można ustawić zakres danych za pomocą jednego wiersza kodu: 'Ustaw wartość rngData = (wsA.Range (" C14 "), wsA.Range (" C14 "). End (xlToRight) .end (xlDown))' –