Problemas para actualizar todas las tablas dinámicas en excel con hojas protegidas

Tengo un botón con el cual actualizo todas las tablas dinámicas de mi libro, el botón estaba funcionando bien, pero luego se movió la base de datos y hubo que cambiar las conexiones de consulta, ahora cuando presiono el botón me dice que hay tablas que no se pueden actualizar porque están protegidas las hojas, aquí dejo una pequeña porción de lo que es el código

Private Sub btn_actualizar_Click()

Sheets("Productos"). Unprotect "123"

Sheets("facturas"). Unprotect "123"

ThisWorkbook. RefreshAll

Sheets("Productos"). Protect "123"

Sheets("Facturas"). Protect "123"

end sub

Hice unas pruebas y tablas que no se actualizan son las de la hoja productos, si quito el código para proteger las hojas funciona bien, intenet hacer una pausa al momento de hacer la actualización pero siempre me da el error...

Su valiosa ayuda pof favor...

1 Respuesta

Respuesta
1

Se me ocurre que la causa del error es que las tablas no se terminan de actualizar cuando le das bloquear, recuerdo que alguna vez me paso eso, y use la propiedad BackgroundQuery de las PivotCache.

PivotCache. BackgroundQuery
Es True si las consultas del informe de tabla dinámica o la tabla de
consulta se llevan a cabo de forma asíncrona (en segundo plano). Valor
Boolean de lectura y escritura.
Sintaxis
Expresión. BackgroundQuery
Expresión Variable que representa un
Objeto PivotCache.
Comentarios
Para los orígenes de datos OLAP, esta propiedad es de sólo lectura y siempre devuelve
False.

Ejemplo
Este ejemplo hace que las consultas del primer informe de tabla dinámica de
la hoja de cálculo uno se realicen en primer plano.
Visual Basic para aplicaciones
Worksheets(1).PivotTables("Pivot1").PivotCache.BackgroundQuery = False

Cuentame como te fue, si no soluciona tu problema, buscamos otra opción.

Se me ocurre otra mejor solución en las propiedades de la conexión deshabilita en la pestaña uso el checkbox que dice "habilitar actualizaciones en segundo plano".

Esto debería ser suficiente.

No se te olvide dar por finalizada la pregunta. Hasta la proxima!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas