Saludos a todo el grupo!
Grabe la siguiente Macro:
Lo que hace basicamente es crear una pivot y quitar los totales de los
campos que la componen.
Funciona sin ningun problema, para esa hoja.
Necesito que se ejecute en otras hojas con distintos nombres, me
parece que la clave esta en esta linea: "'Retail 1'!
R1C1:R1679C13").CreatePivotTable TableDestination:="", _, sin embargo
no soy ningun experto.
Como puedo hacer que funcione para otras hojas con distintos
nombres?????; Retail 2, Retail 3, Retail 4, Retail 5, etc, etc. Todas
las hojas tienen los mismos encabezados pero el total de registros es
variable
Gracias por su valiosa ayuda
Sub Macro2()
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,
SourceData:= _
"'Retail 1'!R1C1:R1679C13").CreatePivotTable
TableDestination:="", _
TableName:="Tabla dinámica2",
DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard
TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("ID Retailer")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Año")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Mes")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Semana")
.Orientation = xlRowField
.Position = 4
End With
With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("No.
Tienda")
.Orientation = xlRowField
.Position = 5
End With
With ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Nombre Tienda")
.Orientation = xlRowField
.Position = 6
End With
With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("SKU")
.Orientation = xlRowField
.Position = 7
End With
With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields( _
"Descripción Producto")
.Orientation = xlRowField
.Position = 7
End With
Range("G4").Select
With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields( _
"Descripción Producto")
.Orientation = xlRowField
.Position = 8
End With
ActiveWindow.SmallScroll ToRight:=7
ActiveSheet.PivotTables("Tabla dinámica2").AddDataField
ActiveSheet.PivotTables _
("Tabla dinámica2").PivotFields("Ventas U"), "Suma de Ventas
U", xlSum
ActiveSheet.PivotTables("Tabla dinámica2").AddDataField
ActiveSheet.PivotTables _
("Tabla dinámica2").PivotFields("Ventas $"), "Suma de Ventas
$", xlSum
ActiveSheet.PivotTables("Tabla dinámica2").AddDataField
ActiveSheet.PivotTables _
("Tabla dinámica2").PivotFields("Inventario U"), "Suma de
Inventario U", xlSum
ActiveSheet.PivotTables("Tabla dinámica2").AddDataField
ActiveSheet.PivotTables _
("Tabla dinámica2").PivotFields("Inventario $"), "Suma de
Inventario $", xlSum
Range("I3").Select
With ActiveSheet.PivotTables("Tabla dinámica2").DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
Range("H4").Select
ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Descripción Producto"). _
Subtotals = Array(False, False, False, False, False, False,
False, False, False, False, _
False, False)
ActiveWindow.SmallScroll ToRight:=-7
Range("G4").Select
ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("SKU").Subtotals = Array _
(False, False, False, False, False, False, False, False,
False, False, False, False)
Range("F4").Select
ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("Nombre
Tienda"). _
Subtotals = Array(False, False, False, False, False, False,
False, False, False, False, _
False, False)
Range("E4").Select
ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("No.
Tienda").Subtotals _
= Array(False, False, False, False, False, False, False,
False, False, False, False, False _
)
Range("D4").Select
ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Semana").Subtotals = _
Array(False, False, False, False, False, False, False, False,
False, False, False, False)
Range("C4").Select
ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Mes").Subtotals = Array _
(False, False, False, False, False, False, False, False,
False, False, False, False)
Range("B4").Select
ActiveSheet.PivotTables("Tabla
dinámica2").PivotFields("Año").Subtotals = Array _
(False, False, False, False, False, False, False, False,
False, False, False, False)
Range("A4").Select
ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("ID
Retailer"). _
Subtotals = Array(False, False, False, False, False, False,
False, False, False, False, _
False, False)
Columns("A:L").Select
Columns("A:L").EntireColumn.AutoFit
End Sub
Leer las respuestas