Crear cuadro de mensaje cuando inicia un archivo de Excel

rapidito78840

Board Regular
Joined
Apr 15, 2004
Messages
118
Por favor si alguien pudiera facilitarme el codigo que pueda insertar en un archivo de Excel, de modo de que cuando se abra por primera vez el archivo, salga un cuadro de texto como mensaje de bienvenida.

claro en vez de "bienvenida" pondria mi nombre y mi correo electronico
para que sepan quien es el autor de el archivo

Saludos y gracias por su ayuda

AMIGOS; ya alguien me escribio a mi correo y me dio el codigo:

Code:
Sub Auto_open()
MsgBox ("que tengas un buen dia")

End Sub

ya lo puse y sale al inicio de abrir el archivo de excel, pero ahora podrian ayudarme en decirme COMO SE PUEDE FORMATEAR ESTAS LETRAS?
quisiera darle color - fondo- o algo de tipo de fuente personal ....

podrian ayudarme por favor ?

saludos y gracias nuevamente !!!
 

Excel Facts

How to total the visible cells?
From the first blank cell below a filtered data set, press Alt+=. Instead of SUM, you will get SUBTOTAL(9,)
hola rapidito:
creo que te seria mejor usar un form y una(s) etiqueta(s) con el mensaje de bienvenida y que lo abra el evento open de thisworkbook

Code:
Private Sub Workbook_Open()
    UserForm1.Show
End Sub

Code:
Private Sub UserForm_Activate()
With Label1
    .Caption = "Hola " & Application.UserName
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF&
End With

With Label2
    .Caption = "Son las " & Time
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF0000
End With
Application.Wait Now + TimeValue("00:00:02")
Me.Hide
End Sub
 
Upvote 0
Gracias ... dejame probarlo! solamente por favor me podrias decir...

donde pego este codigo? en VBA ? en el modulo 1 donde tengo el otro codigo?

Code:
Sub Auto_Open()
    Dim hora As Double
    Dim saludo As String
    hora = (Now - Int(Now)) * 24
    Select Case hora
        Case 5 To 12
            saludo = " B U E N O S    D I A S   !   "
        Case 12 To 19
            saludo = "BUENAS TARDES    !   "
        Case Else
            saludo = "BUENAS NOCHES    ! "
        End Select
    MsgBox saludo & " Servicios Contables Azor ®  "
    End Sub

pegue el codigo asi, en el modulo 1:

Code:
Private Sub Workbook_Open()
    UserForm1.Show
End Sub

Private Sub UserForm_Activate()
With Label1
    .Caption = "Hola " & Application.UserName
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF&
End With

With Label2
    .Caption = "Son las " & Time
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF0000
End With
Application.Wait Now + TimeValue("00:00:02")
Me.Hide
End Sub


pero cuando lo corro me sale esto:

Code:
Error de compilacion:
el uso de la palabra ME no es valido


y si le quito la palabra "ME", me sale esto:

Code:
Error de compilacion:
no se ha definido Sub o Function

que estoy haciendo mal?

saludos y gracias por la respuesta
 
Upvote 0
hola rapidito:
tienes razon ,me faltaron algunas aclaraciones,ahi voy... :->
1.-la primera subrutina la debes colocar en 'thisworkbook',para lo cual debes pulsar alt+F11 y te abrira el editor de visual basic,ahi busca un pequeño icono que tiene el nombre de "Thisworkbook"
y copia/pega:
Code:
Private Sub Workbook_Open() 
    UserForm1.Show 
End Sub

2.-el codigo que inicia con "UserForm_Activate",presupone que insertaste un fomulario desde el menu Insertar/formulario de la barra de herramientas del VBE (Editor de visual basic),asi que si no lo tienes debes insertarlo,despues le das docleclick y copias/pegas la macro,debes sustituir el evento click (UserForm_Click) que te saldra al hacer dobl click sobre el formulario

3.-tu macro auto_open debe ir en un modulo estandar,pero se me ocurrio adaptar todo par que lo tengas en el formulario,pudiendo quedar asi:

Code:
Private Sub UserForm_Activate()
Dim hora As Double
    Dim saludo As String
    hora = (Now - Int(Now)) * 24
    Select Case hora
        Case 5 To 12
            saludo = " B U E N O S    D I A S   !   "
        Case 12 To 19
            saludo = "BUENAS TARDES    !   "
        Case Else
            saludo = "BUENAS NOCHES    ! "
        End Select
Me.Caption = saludo & " Servicios Contables Azor ®  "

With Label1
    .Caption = "Hola " & Application.UserName
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF&
End With

With Label2
    .Caption = "Son las " & Time
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF0000
End With
Application.Wait Now + TimeValue("00:00:03")
Me.Hide
End Sub

como el tiempo de 2 seg. se me hizo muy breve le aumente a 3 segundos :-D

si continuas con problemas,puedes checarte este ejemplo:
http://tinyurl.com/2qwtw5
 
Upvote 0
no me funciona el comando me dice lo siguiente: que ha ocurrido un error 424 y me dice se encuentra en la parte del with label2, me ayudas a ver que sucede??? porfavor

hola rapidito:
tienes razon ,me faltaron algunas aclaraciones,ahi voy... :->
1.-la primera subrutina la debes colocar en 'thisworkbook',para lo cual debes pulsar alt+F11 y te abrira el editor de visual basic,ahi busca un pequeño icono que tiene el nombre de "Thisworkbook"
y copia/pega:
Code:
Private Sub Workbook_Open() 
    UserForm1.Show 
End Sub

2.-el codigo que inicia con "UserForm_Activate",presupone que insertaste un fomulario desde el menu Insertar/formulario de la barra de herramientas del VBE (Editor de visual basic),asi que si no lo tienes debes insertarlo,despues le das docleclick y copias/pegas la macro,debes sustituir el evento click (UserForm_Click) que te saldra al hacer dobl click sobre el formulario

3.-tu macro auto_open debe ir en un modulo estandar,pero se me ocurrio adaptar todo par que lo tengas en el formulario,pudiendo quedar asi:

Code:
Private Sub UserForm_Activate()
Dim hora As Double
    Dim saludo As String
    hora = (Now - Int(Now)) * 24
    Select Case hora
        Case 5 To 12
            saludo = " B U E N O S    D I A S   !   "
        Case 12 To 19
            saludo = "BUENAS TARDES    !   "
        Case Else
            saludo = "BUENAS NOCHES    ! "
        End Select
Me.Caption = saludo & " Servicios Contables Azor ®  "

With Label1
    .Caption = "Hola " & Application.UserName
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF&
End With

With Label2
    .Caption = "Son las " & Time
    .Font = "arial"
    .Font.Size = 14
    .Font.Bold = True
    .ForeColor = &HFF0000
End With
Application.Wait Now + TimeValue("00:00:03")
Me.Hide
End Sub

como el tiempo de 2 seg. se me hizo muy breve le aumente a 3 segundos :-D

si continuas con problemas,puedes checarte este ejemplo:
http://tinyurl.com/2qwtw5



no me funciona el comando me dice lo siguiente: que ha ocurrido un error 424 y me dice se encuentra en la parte del with label2, me ayudas a ver que sucede??? porfavor
 
Upvote 0

Forum statistics

Threads
1,223,952
Messages
6,175,593
Members
452,654
Latest member
mememe101

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top