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

1 Respuesta

Respuesta
1
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
<span class="str">End If '</span><span class="typ">Falto</span><span class="pln"> la linea que cierra el </span><span class="kwd">if</span><span class="typ">Disculpame</span><span class="pun">!</span><span class="pun">:</span><span class="pln">D</span>
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:

Este error te lo da porque no estaba cerrado el if.

Puedes hacerlo de esta manera y validar si te esta funcionando quedo a espera de tus comentarios.

"Error de compilación: Bloque If sin End if"

Buenos días,

Te comento que la macro desprotege las hojas, le aplica el zoom, pero el resto de las instrucciones sólo se están aplicando en una única hoja y eso no me sirve, necesito que se aplique para todo el libro, si tengo 20 hojas para las 20.

Puede serte de utilidad que te envíe un ejemplo por mail para que lo puedas visualizar mejor?

Espero tus comentarios y desde ya muchas gracias por lo que puedas hacer!

Saludos,

AKMOK

Si, podrías enviar los a mi correo:

[email protected]

Lo armo y te lo envío.

Mil gracias por la disposición y pronta respuesta.

saludos!

Mail enviado, espero se pueda hacer al respecto.

saludos!

AKMOK

Te respondido el correo espero haber Ayudado

Ahora síiiiiiii!

Qué maravilla!!!!!

Tu no te haces idea de lo que me solucionas con la macro que creaste!!!!

GRACIAS!!!!

Ésta vez todo probado sin apuros, funciona 10 puntos!

Gracias por todas las aclaraciones, jamás podría haberlo hecho sin ayuda!

Gracias y no voy a dudar en consultarte cuando necesite ayuda!

saludos!!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas