Hola, soy Karisma de nuevo. Estoy haciendo un calendario, y me gustaría que según la fecha actual se mosrtara un mensaje. Ejemplo: si hoy es lunes y abro el archivo quiero que se muestre: "Feliz inicio de semana". Si hoy es martes quiero que se muesrte: "trabaja con entusiasmo", etc. ¿Se podría? Mil gracias por tu ayuda.
Karisma : Desde Excel, tipeá Alt+F11 para ingresar a Visual Basic. Insertá un módulo (con menu "Insertar/Modulo") . Y copiá allí el siguiente código: Sub auto_open() Dim mensaje As String Dim DiaSemana DiaSemana = WeekDay(Now, vbMonday) Select Case DiaSemana Case 1: mensaje = "Hoy es Lunes" & Chr(10) & "Feliz inicio de semana" Case 2: mensaje = "Hoy es Martes" & Chr(10) & "trabaja con entusiasmo" Case 3: mensaje = "Hoy es Miercoles" Case 4: mensaje = "Hoy es Jueves" Case 5: mensaje = "Hoy es Viernes" Case 6: mensaje = "Hoy es Sabado" Case 7: mensaje = "Hoy es Domingo" End Select MsgBox mensaje End Sub Acá se usa la función WEEKDAY que devuelve un número entre 1 y 7 de acuerdo al día de la semana de NOW (devuelve la fecha actual). Con SELECT CASE , generamos un mensaje diferente cada día , de acuerdo al numero devuelto por WEEKDAY. El mensaje se muestra en una ventana con MSGBOX. Esta RUTINA (AUTO_OPEN) se ejecuta Automáticamente cada vez que se abre (OPEN)el archivo EXCEL. Para probar los cambios que quieras hacerle sin necesidad de abrir cada vez el archivo, ejecutá desde excel, mediante "Herramientas/Macro/Macros" (o Alt+F8)la rutina "Auto_open" Suerte.