Macro tabla dinamica

Buenos días me pregunto si me podrías ayudar con una duda lo que pas a es que tengo un código que me genera una tabla dinmica en una hoja nueva y lo que quiero es que me haga la tabla dinámica en la misma hoja y no en una nueva pero no se como referenciar la hoja en el código. Este es el código
Wend
Rango = "DATOS!R1C1:R" + CStr(cont - 1) + "C5"
Range("A1").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Rango).CreatePivotTable TableDestination:="", TableName:= _
"Tabla dinámica1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tabla dinámica1").AddFields RowFields:="Escuela", _
ColumnFields:="Item"
ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Cantidad").Orientation _
= xlDataField
ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Grupo").Orientation = xlPageField
.Position = 1
Cells.Select
Rows("4:4").Select
Selection.RowHeight = 102.6
Rows("4:4").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Cells.Select
Cells.EntireColumn.AutoFit
With Selection.Font
.Name = "Arial"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Cells.EntireColumn.AutoFit
Range("A1").Select
End Sub

3

3 respuestas

Respuesta
1

OJO esta pregunta ya fue respondida, sin embargo la volveré a responder.

Buenas noches amigo

Para que la tabla se cree en la misma pagina debería bastar con indicar la hoja y la celda de destino, quedaría algo como esto:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Rango).CreatePivotTable TableDestination:="DATOS!R2C8", TableName:= _
"Tabla dinámica1"

Nota: "R2C8" equivale a la celda "H2"

te coloque la otra pregunta repetida como excelente pero sin embargo no me funciona y todavía no entiendo por que.

Hagamos algo, enviame el archivo a la dirección [email protected] para revisarlo.

Respuesta
1

Para crearla en la misma hoja debes agregar la ubicación en la hoja donde estés trabajando en tu código, me explico

--Tú código-----

Wend
Rango = "DATOS!R1C1:R" + CStr(cont - 1) + "C5"
Range("A1").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Rango).CreatePivotTable TableDestination:="Hoja1!R1C7", TableName:= _
"Tabla dinámica1"

.. Resto del código

Nota que agregue el Hoja1! R1C7, donde se encuentra el nombre de la hoja y R1C7 significan el número de la fila R1 y el número de la columna C7, "R1C7" hace referencia a la celda G1.

Respuesta
1

Tienes que cambiar el parámetro TableDestination a algo como esto:

TableDestination:="[Libro1]Hoja1!R1C1" 

En este caso en la hoja actual en A1. Libro y hoja serán los que tengas en tu caso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas