Saltar al contenido
publicado

Saludos comunidad

Tengo una pregunta y les agradecería si algunos de ustedes pudiera ayudarme

Es posible que se pueda obter el rago de datos de un pivot table en una celda con alguna formula, si tener que ir al menu, pivot table y luego data source

Featured Replies

publicado

Hola, solo se me ocurre que lo hagas con una UDF (macros)

publicado
  • Autor

Algun ejemplo,

gracias

publicado

Saludos cordiales a todos.

Para evitar conjeturas y deducciones al lector se recomienda dejar un libro de ejemplo, esto ayuda a proponer ideas específicas en caso de tenerlas. En base a lo leído del tema un código como este debería servir. Debe editar a su conveniencia.

Saludos.

Sub ObtenerRangoTablaDinamica()
    Dim pt As PivotTable
    Dim rangoDatos As Range

    ' Ajuste "Hoja2" al nombre de su hoja y "TablaDinamica1" al nombre de su tabla dinámica
    Set pt = Worksheets("Hoja2").PivotTables("TablaDinamica1")

    ' Obtener el rango de datos de la tabla dinámica
    Set rangoDatos = pt.TableRange1

    ' Mostrar el rango de datos en una caja de mensaje
    MsgBox "El rango de datos es: " & rangoDatos.Address
End Sub

image.thumb.png.b499af69b303b47dbb75d74081c5285d.png

publicado

Por si quiere el rango en la celda.

Sub ColocarRangoEnCelda()
    Dim pt As PivotTable
    Dim rangoDatos As Range

    ' Ajuste "Hoja2" al nombre de su hoja y "TablaDinamica1" al nombre de su tabla dinámica
    Set pt = Worksheets("Hoja2").PivotTables("TablaDinamica1")

    ' Obtener el rango de datos de la tabla dinámica
    Set rangoDatos = pt.TableRange1

    ' Colocar el rango de datos en la celda C1 de la Hoja2
    Worksheets("Hoja2").Range("C1").Value = rangoDatos.Address
End Sub

image.thumb.png.2a64fb5338d314d679e70380df4cb85c.png

publicado
  • Autor

muchisimas gracias

publicado
  • Autor

Saludos

Despues de probar este ejemplo, veo que me trae el rango que ocupa el pivot table,  pero lo que en realidad busco es que me traiga el rango que ocupa la data de donde se alimenta el pivot

por ejemplo

en la hoja2 tengo el pivot que se alimenta de los datos que estan en la hoja3, lo que me gustaria ver es que rango de datos esta abarcando el pivot de la hoja3 (que es donde estan los datos)

nuevamente muchas gracias

 

publicado

Hola, podrías cambiar esta línea del código de Israel

En 18/6/2024 at 15:11 , Israel Cassales dijo:
Worksheets("Hoja2").Range("C1").Value = rangoDatos.Address

Por esto otro

Worksheets("Hoja2").Range("C1").Value = pt.SourceData

Crear una cuenta o conéctate para comentar