Saltar al contenido

Actualizar tabla dinámica mediante codigo de macros


Recommended Posts

publicado

Tengo una pequeña aplicación en Excel 2007 donde requiero actualizar tablas dinámicas mediante código de macro, (lo he realizado en otros archivos y no tengo problemas, solo que aqui no se porque me genera el error).

La Base de Datos esta en la pestaña BD, la cual descargo de una hoja de google docs alimentada por google forms, (puse una copia de la BD original con el formato tal cual se descarga) pego la base de datos en la hoja BD y corro un modulo llamado INICIO (aqui hay varios cálculos, formatos etc), aparte yo tengo una Tabla dinámica en la hoja Rep1... la cual quiero actualizar mediante código...

En los módulos tengo uno que se llama TablasDinamicas es la sub llamada ActTD en la parte del ELSE puse un comentario,

El error que me manda es:

"Se ha producido un error '13' en tiempo de ejecución. no coinciden los tipos"

Linea de Codigo: Set DatosTablaReportes = Range("A1").CurrentRegion

Quisiera saber si pueden ayudarme!

Gracias.

Customer Service.zip

publicado

El error sucede por que estas definiendo un rango como un objeto (PivotTable), debería funcionar correctamente de esta forma:


Sub ActTD()
If BD.Range("A2").Value = "" Then
MsgBox ("No existe información para actualizar tablas dinamicas")
Else
Dim DatosTablaReportes As Range
BD.Unprotect
BD.Activate

Set DatosTablaReportes = Range("A1").CurrentRegion
Sheets("Rep1").PivotTables("TD1").ChangePivotCache ActiveWorkbook.PivotCaches.Create(xlDatabase, DatosTablaReportes)

Menu.Activate
MsgBox ("Reportes de Tablas Dinámicas Actualizados")
BD.Visible = False
End If
End Sub
[/CODE]

Comentas

Salu2

publicado

Me sale este mensaje de erorr cada vez que guardo la información del archivo, les ha aparecido alguna vez??

Advertencia sobre confidencialidad: este documento contiene Macros, Controles ActiveX, información sobre paquetes de expansión XML o componentes WEB. Estos pueden incluir información personal que no se puede quitar por el inspector de documento.

Saludos.

post-190115-145877012121_thumb.png

publicado

Intenta esto:

  1. Abra el libro en Excel.
  2. En Excel, abra el Centro de confianza.
  3. En la pestaña Opciones de privacidad desactive la casilla Quitar la información personal de las propiedades del archivo al guardarlo.
  4. Guarde el libro y cierre Excel.

publicado

[uSER=143023]@Riddle[/uSER]. Funcionó perfectamente tu consejo!!! te lo agradezco...

Fijate que me acabo de dar cuenta que esa linea de Código falla si el valor de alguna columna de texto contiene muchos caracteres.... hay alguna otra manera de hacer lo mismo pero con otros codigos?? adjunto ejemplo con información real en la columna F de la pestaña BD

Customer Service.rar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.