problema con Exit Sub

05/03/2009 - 10:12 por Juan Español | Informe spam
una ayudita porfa...

Tengo este pequeño código en un botón de la hoja L_PESOS

Private Sub IM_TK_Click()
Application.ScreenUpdating = False
Sheets("TK").Select
If Range("B10").Value = 0 Then Exit Sub

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("L_PESOS").Select
Application.ScreenUpdating = True
End Sub

Y al ejecutarlo me imprime la hoja aunque el valor de B10 sea cero

Y lo más curioso es que probando en la ventana de inmediato:
?Range("B10").Value respuesta: 0
If Range("B10").Value = 0 Then Debug,Print "el valor de B10 es cero"
Respuesta: el valor de B10 es cero

Por lo que deduzco que "Exit Sub" no funciona.

Y aquí la pregunta, ¿por qué podría ser?.

Saludos.

Preguntas similare

Leer las respuestas

#1 L. Garcia
05/03/2009 - 10:19 | Informe spam
Hola:

La verdad, ni idea, pero si parece que no funciona el exit sub ¿?, y además
tienes un ScreenUpdating 'colgado' (lo pones a False, pero luego no lo
vuelves a poner a True)... yo cambiaría la lógica.

ScreenUpdating = False
IF Value <> 0 THEN
' Imprimir
END IF
ScreenUpdating = True

Salu2

"Juan Español" escribió en el mensaje
news:%
una ayudita porfa...

Tengo este pequeño código en un botón de la hoja L_PESOS

Private Sub IM_TK_Click()
Application.ScreenUpdating = False
Sheets("TK").Select
If Range("B10").Value = 0 Then Exit Sub

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("L_PESOS").Select
Application.ScreenUpdating = True
End Sub

Y al ejecutarlo me imprime la hoja aunque el valor de B10 sea cero

Y lo más curioso es que probando en la ventana de inmediato:
?Range("B10").Value respuesta: 0
If Range("B10").Value = 0 Then Debug,Print "el valor de B10 es cero"
Respuesta: el valor de B10 es cero

Por lo que deduzco que "Exit Sub" no funciona.

Y aquí la pregunta, ¿por qué podría ser?.

Saludos.

Respuesta Responder a este mensaje
#2 Héctor Miguel
05/03/2009 - 19:32 | Informe spam
hola, Juan !

(solo por si acaso) asumiendo que el boton es de la barra de herramientas "cuadro de controles" -?-
comprueba (o modifica) en la ventana de propiedades desde el editor de vba (en tiempo de diseno)
en el modulo de codito de esa hoja, que ese boton NO tenga en True su propiedad "TakeFocusOnClick"
(lo que estaria "impidiendo" que tu macro se traslade a la hoja "TK", por lo que estaria comprobando B10 de su propia hoja)

saludos,
hector.

__ OP __
Tengo este pequeno codigo en un boton de la hoja L_PESOS
Private Sub IM_TK_Click()
Application.ScreenUpdating = False
Sheets("TK").Select
If Range("B10").Value = 0 Then Exit Sub
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("L_PESOS").Select
Application.ScreenUpdating = True
End Sub
Y al ejecutarlo me imprime la hoja aunque el valor de B10 sea cero
Y lo más curioso es que probando en la ventana de inmediato:
?Range("B10").Value respuesta: 0
If Range("B10").Value = 0 Then Debug,Print "el valor de B10 es cero"
Respuesta: el valor de B10 es cero
Por lo que deduzco que "Exit Sub" no funciona.
Y aquí la pregunta, por que podria ser?.
Respuesta Responder a este mensaje
#3 Juan Español
06/03/2009 - 12:20 | Informe spam
Gracias L.Garcia, en principio no era ese el problema, lo he solucionado
haciendo una rutina de impresión de los Tikects en un módulo y llamo a esa
rutina desde cualquier punto del libro, lo cual por otra parte me parece más
versatil y "mas profesional".

Lo dicho saludos y gracias.

"L. Garcia" escribió en el mensaje
news:
Hola:

La verdad, ni idea, pero si parece que no funciona el exit sub ¿?, y además
tienes un ScreenUpdating 'colgado' (lo pones a False, pero luego no lo
vuelves a poner a True)... yo cambiaría la lógica.

ScreenUpdating = False
IF Value <> 0 THEN
' Imprimir
END IF
ScreenUpdating = True

Salu2

"Juan Español" escribió en el mensaje
news:%
una ayudita porfa...

Tengo este pequeño código en un botón de la hoja L_PESOS

Private Sub IM_TK_Click()
Application.ScreenUpdating = False
Sheets("TK").Select
If Range("B10").Value = 0 Then Exit Sub

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("L_PESOS").Select
Application.ScreenUpdating = True
End Sub

Y al ejecutarlo me imprime la hoja aunque el valor de B10 sea cero

Y lo más curioso es que probando en la ventana de inmediato:
?Range("B10").Value respuesta: 0
If Range("B10").Value = 0 Then Debug,Print "el valor de B10 es cero"
Respuesta: el valor de B10 es cero

Por lo que deduzco que "Exit Sub" no funciona.

Y aquí la pregunta, ¿por qué podría ser?.

Saludos.

Respuesta Responder a este mensaje
#4 Juan Español
06/03/2009 - 12:36 | Informe spam
Hola Héctor:
Primero he hallado "una solución" haciendo una rutina de impresión de los
Tikects en un módulo, lo cual evitaba el problema (no lo solucionaba) y me
pareció una solución mejor y más versátil.
El colmo ha sido el que tú me des ahora el porqué del problema, porque
efectivamente ese era la cuestión.
Una vez más gracias por la lección que espero le pueda servir a alguien más.

Desde Salamanca, un saludo,
Juan Español

"Héctor Miguel" escribió en el mensaje
news:%
hola, Juan !

(solo por si acaso) asumiendo que el boton es de la barra de herramientas
"cuadro de controles" -?-
comprueba (o modifica) en la ventana de propiedades desde el editor de vba
(en tiempo de diseno)
en el modulo de codito de esa hoja, que ese boton NO tenga en True su
propiedad "TakeFocusOnClick"
(lo que estaria "impidiendo" que tu macro se traslade a la hoja "TK", por
lo que estaria comprobando B10 de su propia hoja)

saludos,
hector.

__ OP __
Tengo este pequeno codigo en un boton de la hoja L_PESOS
Private Sub IM_TK_Click()
Application.ScreenUpdating = False
Sheets("TK").Select
If Range("B10").Value = 0 Then Exit Sub
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("L_PESOS").Select
Application.ScreenUpdating = True
End Sub
Y al ejecutarlo me imprime la hoja aunque el valor de B10 sea cero
Y lo más curioso es que probando en la ventana de inmediato:
?Range("B10").Value respuesta: 0
If Range("B10").Value = 0 Then Debug,Print "el valor de B10 es cero"
Respuesta: el valor de B10 es cero
Por lo que deduzco que "Exit Sub" no funciona.
Y aquí la pregunta, por que podria ser?.




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida