Para ello necesitamos abrir el editor de Visual Basic Alt+F11 e insertar el código en ThisWorkBook. En el menú desplegable Objeto, selecciona Workbook. Por defecto Excel crea:
Private Sub Workbook_Open() ....[Inserta el código aquí] ... End Sub
La sintaxis en español es MsgBox(texto[, botones] [, título] [, archivoayuda, contexto])
Private Sub Workbook_Open() MsgBox "1-El libro está en cálculo manual" & vbCrLf & _ "2-Haz clic en F9 para recalcular fórmulas" & vbCrLf & _ "", vbInformation, "INFORMACION" End SubEscribimos el texto del mensaje, Chr(13) o vbCrLf, para insertar saltos de línea. VbInformation muestra el icono de mensaje de información y en el argumento título "INFORMACION".
Private Sub Workbook_Open() Dim Respuesta As VbMsgBoxResult Respuesta = MsgBox("¿Conoces la sintaxis de MsgBox?", _ vbQuestion + vbYesNo, "Nube de datos") If respuesta = vbYes Then 'Haz X MsgBox "Perfecto. ¿Usas la función frecuentemente?", vbInformation Else 'Haz Y MsgBox "Quizá deberías ir al enlace propuesto" & Chr(13) & _ "o leer la ayuda de Excel", vbExclamation End If End SubCapturamos la respuesta del usuario con la variable Respuesta. Con vbQuestion + vbYesNo mostramos el icono de pregunta de advertencia y los botones Sí y No, en el argumento título "Nube de datos". La respuesta la manejamos con un If. vbInformation para el icono del sí y vbExclamation para el del no
.
Otra alternativa a If, quizá más clara y eficiente, es usar Select Case
Private Sub Workbook_Open() Dim Respuesta As VbMsgBoxResult Respuesta = MsgBox("¿Conoces la sintaxis de MsgBox?", _ vbQuestion + vbYesNoCancel, "Nube de datos") Select Case Respuesta Case vbYes 'Haz X MsgBox "Perfecto. ¿Usas la función frecuentemente?", vbInformation Case vbNo 'Haz Y MsgBox "Quizá deberías ir al enlace propuesto" & Chr(13) & _ "o leer la ayuda de Excel", vbExclamation Case vbCancel Exit Sub 'Haz Z End Select End Sub
Cambiamos el argumento [botones] para mostrar Sí, No y Cancelar.
Información detallada de la función MsgBox en: Ayuda de Excel/Referencia del lenguaje de Visual Basic/Funciones/M-P/MsgBox (Función)
No hay comentarios:
Publicar un comentario