Macrotabla

Como puedo hacerle para que en esta linea R1C1:R304C7")me tome el el rango hasta donde encuentre una fila o una celda con datos ya que mi base de datos es variable y son diferentes libros los que manejo.
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 28/09/2004 por Check Plus
'
'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"fte!R1C1:R304C7").CreatePivotTable TableDestination:="", TableName:= _
"Tabla dinámica1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tabla dinámica1").SmallGrid = False
ActiveSheet.PivotTables("Tabla dinámica1").AddFields RowFields:="Plaza", _
ColumnFields:="Num"
ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Abono").Orientation = _
xlDataField
End Sub

1 Respuesta

Respuesta
1
Ensaya con:
Range("A1"). Select 'Suponiendo que es la celda donde comienza tu base de datos
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Filas = Selection.Count
Range("A1").Select
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
Columnas = Selection.Count
Rango = "fte!R1C1:R" & Filas & "C" & Columnas
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Rango).CreatePivotTable TableDestination:="", TableName:= _
"Tabla dinámica1"
Si no sirve escribe de nuevo
Como hago para poder aplicar esto en cualquier hoja y no precisamente en esta fte!
Rango = "fte!R1C1:R" & Filas & "C" & Columnas
Dim Nombre as String
Nombre=Activesheet.Name
'El Código que te envie
Rango = Nombre & "!R1C1:R" & Filas & "C" & Columnas
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Rango).CreatePivotTable TableDestination:="", TableName:= _
"Tabla dinámica1"
Si no sirve escribe de nuevo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas