Incluir Tabla en Userform

Hola =D,

Actualmente tengo una tabla de datos en una hoja llamada "Historial de Mantenimiento", en esta tabla se encuentra la información de todas las actividades realizadas a diferentes equipos, por lo que se hace extensa y difícil de manejar.

Para visualizar la información es muy sencillo al realizarlo con una tabla dinámica. Sin embargo el acceso a la tabla solo se debe realizar a través de un formulario, por lo que me gustaría poder crear otro userform que me permita ver los resultados de la tabla dinámica en forma ordenada. Adicionalmente que el filtro de la tabla dinámica lo pueda realizar con el valor de un textbox del primer formulario.

Ya intente realizarlo con un listbox y no me gusto la presentación que daba y finalmente lo intente con un objeto pivotTable, pero desafortunadamente no se como darle un formato estético y como yo deseo se vea el resultado.

Agrego el código que tengo hasta el momento, y espero me puedan colaborar.

Mil Gracias =D

Private Sub UserForm_initialize()
If UserForm.Inventario = "" Then 'establece si existe un valor de referencia para buscar el historial
'Si es vacio no se realizara ninguna accion
Else 'De lo contrario se mostrara la informacion correspondiente
 Historial.TextBox1.Value = UserForm.Inventario.Value
 Historial.ComboBox1.Value = UserForm.ComboBox1.Value
 Historial.ComboBox2.Value = UserForm.ComboBox2.Value
 Historial.Equipo.Value = UserForm.Equipo.Value
End If
 Dim stSQL As String
 Dim stCon As String
 Dim ptTable As OWC11.PivotTable
 Dim ptView As OWC11.PivotView
 Dim ptFsets As OWC11.PivotFieldSets
 Dim ptField As OWC11.PivotField
 Dim ptTotal As OWC11.PivotTotal
 Dim ptCommand As OWC11.OCCommand
 Set ptTable = Historial.PivotTable1
 Workbooks("Mantenimiento Ladera.xlsm").Activate
 stCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ActiveWorkbook.FullName & ";" & "Extended Properties='Excel 8.0'"
 stSQL = "SELECT * FROM [Historial de Mantenimiento$];"
 With Me.PivotTable1
 .ConnectionString = stCon
 .CommandText = stSQL
 Set ptView = .ActiveView
 End With
 Set ptFsets = ptView.FieldSets
 With ptView
 .FilterAxis.InsertFieldSet ptFsets("Inventario")
 .RowAxis.InsertFieldSet ptFsets("Fecha")
 .RowAxis.InsertFieldSet ptFsets("Tipo de Mantenimiento")
 .RowAxis.InsertFieldSet ptFsets("Descripción")
 .RowAxis.InsertFieldSet ptFsets("Responsable")
 End With
End Sub

Añade tu respuesta

Haz clic para o