Los bucles de la macro no funcionan en su totalidad, cómo podemos solucionarlo?
nuevamente con una consulta . . .
Los bucles For Each que me sugeriste, los probé y al responderte de forma apresurada, no pude notar que no estaban funcionando en su totalidad.
Si bien se desprotegían las hojas y se ampliaba el zoom, el resto de las instrucciones que contiene la macro, no se estaban ejecutando.
Debajo dejo la instrucción última que me pasaste y el error que me da la misma:
Dim sht, hoja As Worksheet
For Each sht In Sheets
'Corremos un if en donde validamos que sht sea un worksheet y de ser así deshabilitamos el
'password de igual manera evitamos que a la hoja llamada CALCULO pierda la protección
If TypeName(sht) = "Worksheet" And Not sht.Name = "CALCULO" Then
sht.Unprotect Password:="12345"
'Activamos las hojas y Apliamos aun 135%
sht.Activate
ActiveWindow.Zoom = 135
Next sht
'En el siguiente bucle integraras la exclusión para la hoja CALCULO
For Each hoja In Worksheets
If hoja.Name <> "CALCULO" Then 'de este modo excluirás la hoja CALCULO
'Aquí escribirás todas las sentencias que quieres que se ejecuten en las demás hojas
End If
Next hoja
Al correr la macro me dice:
"Error de compilación: Bloque If sin End if"
Cómo hago para seguirlo, porque le hice cambios y luego noté que desprotegía bien las
Hojas, les aplicaba el zoom, pero no el resto de las instrucciones que necesito
que la macro realice . . . Cómo lo puedo solucionar . . .no le estoy dando con
la tecla.
Perdón por apresurarme a responder, pero fue la emoción . . .
Éstos fueron los cambios que le hice a la macro:
1. En vez de correr primero la desprotección de las hojas y el zoom, pasé el zoom para lo último y fusioné desprotección de hojas con las instrucciones extras de mi macro. (Igual no funcionó)
Dim sht, hoja As Worksheet
For Each sht In Sheets
'Corremos un if en donde validamos que sht sea un worksheet y de ser así deshabilitamos el
'password de igual manera evitamos que a la hoja llamada CALCULO pierda la protección
If TypeName(sht) = "Worksheet" And Not sht.Name = "CALCULO" Then
sht.Unprotect Password:="11"
'En el siguiente bucle integraras la exclusión para la hoja CALCULO
If sht.Name <> "CALCULO" Then 'de este modo excluirás la hoja CALCULO
'Aquí escribirás todas las sentencias que quieres que se ejecuten en las demás hojas
End If
End If ‘tuve que cambiar éste cierre porque de lo contrario me arrojaba el error arriba 'mencionado
Next
'tuve que cambiar la ubicación de la ampliación del zoom, para evitar ese error
'pero luego noté que no fue la solución correcta, porque el resto de las instrucciones
'la macro no las estaba realizando
'Activamos las hojas y Apliamos aun 135%
For Each hoja In Worksheets
hoja.Activate
ActiveWindow.Zoom = 135
Next
End Sub