Foros del Web » Soporte técnico » Ofimática »

solo se abra una vez msgbox

Estas en el tema de solo se abra una vez msgbox en el foro de Ofimática en Foros del Web. Quería que al abrir una hoja me saliera un msgbox. El problema es que solo quiero que salte una vez, la primera vez que se ...
  #1 (permalink)  
Antiguo 20/02/2006, 10:57
Avatar de niconico  
Fecha de Ingreso: enero-2006
Mensajes: 166
Antigüedad: 18 años, 3 meses
Puntos: 0
solo se abra una vez msgbox

Quería que al abrir una hoja me saliera un msgbox. El problema es que solo quiero que salte una vez, la primera vez que se abra esa hoja (es decir abro excel y abro esa hoja y me salta y no me volvería a saltar más a menos que cierre excel y lo vuelva a abrir). El código del msgbox es:

Private Sub Form_Load()
MsgBox "Bienvenidos a excel"
End Sub
  #2 (permalink)  
Antiguo 21/02/2006, 02:10
 
Fecha de Ingreso: noviembre-2005
Mensajes: 170
Antigüedad: 18 años, 5 meses
Puntos: 1
Escribe este código en ThisWorkbook de excel:

Dim General As Boolean
Private Sub Workbook_Open()
General = True
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Hoja1" And General Then
MsgBox ("hola")
General = False
End If
End Sub

De esta forma cuando entres en excel te pondrá una variable (General) a true y te la cambiará a false cuando entre en la hoja en cuestión (Hoja1). Sólo la cambia si el nombre de la hoja es el adecuado y si General está a true.
Esto tiene el problema que si cierras estando en la hoja en la que quieres que salga el sms, al abrir aparecerás en dicha hoja, pero no habrá sms. Debes salir de ella y volver. Tienes otras soluciones y no sé cúal te parecerá mejor:

1- Haz que cuando entres active otra página que no sea la que te interesa añadiendo esta línea de código:
Private Sub Workbook_Open()
Worksheets("Hoja2").Activate
General = True
End Sub

2- Si quieres empezar en esa hoja sustituye TODO el código primero por:
Private Sub Workbook_Open()
Worksheets("Hoja1").Activate
MsgBox ("hola")
End Sub
__________________
El sabio no dice nunca todo lo que piensa,
pero siempre piensa todo lo que dice.
Aristóteles :pensando:
  #3 (permalink)  
Antiguo 21/02/2006, 03:10
Avatar de niconico  
Fecha de Ingreso: enero-2006
Mensajes: 166
Antigüedad: 18 años, 3 meses
Puntos: 0
Muchas gracias es justo lo que necesito, he utilizado tu segunda opción, ya que el msgbox quiero que se abra con la página de inicio.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:27.