Formulario Excel vista Tabla Dinámica

Tengo una tabla dinámica en una hoja Excel. Quisiera a través de un botón abrir un form y que se vea dentro está tabla dinámica.

¿Es posible?

1 respuesta

Respuesta

Si tienes Office 2003, la alternativa es usar los "Office Web Components", de ser tu versión 2007 o posterior, una alternativa es enviar los datos de tu Tabla Dinámica a un Listbox.

Para la segunda alternativa te serviría algo así:

Private Sub UserForm_Activate()
Dim Columna As Long, Fila As String
Columna = ActiveCell.SpecialCells(xlLastCell).Column
Fila = ActiveCell.SpecialCells(xlLastCell).Address
ListBox1.ColumnCount = Columna
ListBox1.RowSource = "A1:" & Fila
End Sub

Y para "llamar" a tu Userform basta agregar a un botón lo siguiente: Userform1.Show

Ojo, esto suponiendo varias cosas:

1- Que tu userform de VBA se llama "Userform1"
2- Que tu ListBox se llama "Listbox1"
3- Que el botón sí o sí estará en la hoja de la TD

Hola Abraham, gracias.

Un par de dudas. La tabla dinámica, ¿debe estar en alguna celda obligada?

Y, ¿hay manera de hacerlo llamando al formulario desde otra hoja?

Gracias.

Moisés.

Claro que se puede.

Private Sub UserForm_Activate()
Dim Columna As Long, Fila As String
Application.ScreenUpdating = False
Sheets("Hoja2").Activate
Columna = ActiveCell.SpecialCells(xlLastCell).Column
Fila = ActiveCell.SpecialCells(xlLastCell).Address
ListBox1.ColumnCount = Columna
ListBox1.RowSource = "A1:" & Fila
Sheets("Hoja3").Activate
Application.ScreenUpdating = True
End Sub

Estoy suponiendo que en "Hoja2" está tu TD y que en "Hoja3" está tu botón.  OJO, yo he colocado que comienza en A1 tu TD, pero solo cámbialo a lo que más te convenga. Si no siempre ees la misma, sugiero leer sobre el Metodo "Range.SpecialCells".

Abraham Valencia

Muchas Gracias! Voy a ponerme en ello.

Un abrazo.

Moisés. 

Muchas gracias, funciona perfecto.

Solo lo he tenido que adaptar.

Moisés.

Que bueno

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas