Estoy intentando crear una tabla Pivot, pero obteniendo Invalid Procedure Call or Argument
.Cómo crear una tabla dinámica en VBA
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="rng", Version:=xlPivotTableVersion14).CreatePivotTable TableDestination:="rngB", TableName:="pvtReportA_B", DefaultVersion:=xlPivotTableVersion14
rng
(la fuente) es una gama que consta de alrededor de 20 columnas y unos pocos miles de filas.rngB
(El destino) es una sola celda en una hoja de cálculo diferente
¿Alguien puede aconsejar dónde voy mal?
EDIT:
Mi culpa, debería haber estado usando rngData
y no rng
como fuente.
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
Esto abre el cuadro de la tabla dinámica muy bien.
Entonces, todo bien? Pregunta cerrada? – nutsch
Puede establecer el rango de datos con una línea de código: 'Establecer rngData = rango (wsA.Range (" C14 "), wsA.Range (" C14 "). End (xlToRight) .end (xlDown))' –