Saltar al contenido

Abrir msgbox al cambiar de hoja


Recommended Posts

publicado

Hola,

Necesitaria saber como hacer que al clickar la pestaña de una hoja para cambiar de pantalla se me abra un MsgBox preguntando si estoy seguro de querer salir ya que al pasar a la hoja principal se me reinician todos los valores.

Como lo puedo hacer?

Muchas gracias

publicado

Tengo eso:

Private Sub Worksheet_Activate()

If ((Hoja3.Visible = False)) Then

Hoja4.Range("G22").Value = Hoja2.Range("G17").Value

Hoja4.Range("D3").Value = Hoja2.Range("C2").Value

Hoja4.Range("D4").Value = Hoja2.Range("H2").Value

Hoja4.Range("H18").Value = Hoja2.Range("H13").Value

Hoja4.Range("H19").Value = Hoja2.Range("H14").Value

Hoja4.Range("H21").Value = Hoja2.Range("H16").Value

Hoja4.Range("H39").Value = Hoja2.Range("H34").Value

Hoja4.Range("H55").Value = Hoja2.Range("H50").Value

Hoja4.Range("H59").Value = Hoja2.Range("H54").Value

Hoja4.Range("H60").Value = Hoja2.Range("H55").Value

Else

Hoja4.Range("D4").Value = Hoja3.Range("H2").Value

Hoja4.Range("G22").Value = Hoja3.Range("G17").Value

Hoja4.Range("D3").Value = Hoja3.Range("C2").Value

Hoja4.Range("D4").Value = Hoja3.Range("H2").Value

Hoja4.Range("H18").Value = Hoja3.Range("H13").Value

Hoja4.Range("H19").Value = Hoja3.Range("H14").Value

Hoja4.Range("H21").Value = Hoja3.Range("H16").Value

Hoja4.Range("H39").Value = Hoja3.Range("H34").Value

Hoja4.Range("H55").Value = Hoja3.Range("H50").Value

Hoja4.Range("H59").Value = Hoja3.Range("H54").Value

Hoja4.Range("H60").Value = Hoja3.Range("H55").Value

End If

End Sub

Esos valores los pongo cuando activo la hoja 2.

Para cambiar de opción tengo que pasar por la pantalla principal, luego quiero que cuando clicke sobre la hoja1 estando en cualquier de las otras hojas me salga un MsgBox preguntando si estoy seguro de querer salir.

Espero haber aclarado lo que quiero

publicado

Adjuntando el ejemplo que dice Riddle nos evitas tener que recrear tu archivo, por ende nos facilitas ayudarte.

Las normas establecen que los codigos publicados deben usar etiquetas.

Lo anterior es para que recibas mejor atencion, gracias.

publicado

Vuelvo a poner el código con etiquetas, lo siento.

Private Sub Worksheet_Activate()
If ((Hoja3.Visible = False)) Then
Hoja4.Range("G22").Value = Hoja2.Range("G17").Value
Hoja4.Range("D3").Value = Hoja2.Range("C2").Value
Hoja4.Range("D4").Value = Hoja2.Range("H2").Value
Hoja4.Range("H18").Value = Hoja2.Range("H13").Value
Hoja4.Range("H19").Value = Hoja2.Range("H14").Value
Hoja4.Range("H21").Value = Hoja2.Range("H16").Value
Hoja4.Range("H39").Value = Hoja2.Range("H34").Value
Hoja4.Range("H55").Value = Hoja2.Range("H50").Value
Hoja4.Range("H59").Value = Hoja2.Range("H54").Value
Hoja4.Range("H60").Value = Hoja2.Range("H55").Value
Else
Hoja4.Range("D4").Value = Hoja3.Range("H2").Value
Hoja4.Range("G22").Value = Hoja3.Range("G17").Value
Hoja4.Range("D3").Value = Hoja3.Range("C2").Value
Hoja4.Range("D4").Value = Hoja3.Range("H2").Value
Hoja4.Range("H18").Value = Hoja3.Range("H13").Value
Hoja4.Range("H19").Value = Hoja3.Range("H14").Value
Hoja4.Range("H21").Value = Hoja3.Range("H16").Value
Hoja4.Range("H39").Value = Hoja3.Range("H34").Value
Hoja4.Range("H55").Value = Hoja3.Range("H50").Value
Hoja4.Range("H59").Value = Hoja3.Range("H54").Value
Hoja4.Range("H60").Value = Hoja3.Range("H55").Value
End If

End Sub[/CODE]

publicado

He probado con esta macro

Private Sub prova()
Do Until Sheets(1).Select
Range("A1").Value = 2
Loop
MsgBox ("prova")
End Sub[/CODE]

Intentando que si estoy en la hoja 2 cuando se me active la hoja 1 me salga del bucle y me salga el mensaje, pero cuando la ejecuto me sale directamente el mensaje y me salta a la hoja1 sin que la haya clickado.

Algo estoy haciendo mal pero no lo veo...

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.