Access - Parametrizar tabla dinámica de exel

 
Vista:

Parametrizar tabla dinámica de exel

Publicado por batilo (6 intervenciones) el 28/01/2005 15:09:29
Hacer una cosulta y luego asignarle un formulario basado en una tabla dinámica de excel es cómodo. El problema es cuando quieres parametrizar la consulta; por ejemplo que sólo muestre los valores de desde un intervalo de fechas. Entonces tienes que ir a la consulta modificarla para ese intrevalo y volver a ejecutar la tabla dinámica. Me gustaría que al ejectar la tabla dinámica fuese la propia tabla dinámica la que te preguntase por los parametros de fecha sin necesidad de volver a escribir la consulta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Crear un formulario para parametrizar una tabla dinámica de Excel

Publicado por Alejandro (4142 intervenciones) el 23/05/2023 22:37:02
1. Abre el formulario en el que deseas incluir los parámetros de fecha.
2. Agrega los controles de entrada de fecha que permitirán al usuario seleccionar el rango de fechas deseado.
3. Asigna un botón al formulario para ejecutar la tabla dinámica.
4. En el evento "Al hacer clic" del botón, agrega el código VBA siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
 
' Abre el archivo de Excel que contiene la tabla dinámica
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("ruta_del_archivo.xlsx")
Set xlSheet = xlBook.Sheets("nombre_de_la_hoja")
 
' Actualiza los parámetros de la consulta en la tabla dinámica
xlSheet.PivotTables("nombre_de_la_tabla_dinamica").PivotFields("nombre_del_campo_fecha").ClearAllFilters
xlSheet.PivotTables("nombre_de_la_tabla_dinamica").PivotFields("nombre_del_campo_fecha").PivotFilters.Add2 _
    Type:=xlDateBetween, Value1:=Me.fechaInicio.Value, Value2:=Me.fechaFin.Value
 
' Actualiza la tabla dinámica
xlBook.RefreshAll
 
' Cierra el archivo de Excel
xlBook.Close SaveChanges:=False
xlApp.Quit
 
' Limpia los objetos de Excel
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

5. Reemplaza "ruta_del_archivo.xlsx" con la ruta y nombre del archivo de Excel que contiene la tabla dinámica, y "nombre_de_la_hoja" con el nombre de la hoja que contiene la tabla dinámica.
6. Reemplaza "nombre_de_la_tabla_dinamica" con el nombre de la tabla dinámica que deseas actualizar y "nombre_del_campo_fecha" con el nombre del campo de fecha en la tabla dinámica.
7. Asegúrate de que los nombres de los controles de entrada de fecha en el formulario coincidan con "fechaInicio" y "fechaFin".
8. Guarda y cierra el formulario.
9. Al ejecutar el formulario y hacer clic en el botón, se abrirá el archivo de Excel, actualizará los parámetros de la consulta en la tabla dinámica y la actualización se reflejará en el informe.

Esta solución permite que el usuario especifique los parámetros de fecha directamente en el formulario de Access sin necesidad de modificar manualmente la consulta en Excel.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar