Jump to content

Mostrar MSGBOX al pulsar una tecla o un atajo de teclado


Recommended Posts

Hola a todos,

 

Me gustaría que al pulsar una tecla o un atajo de teclado, se le aparezca un mensaje en un MsgBox al usuario de la aplicación ofimática.

No sé muy bien cómo plantear el problema.

Se me ocurre lo siguiente, pero no funciona:

Sub MostrarMensaje()
   If Application.OnKey Key:="{c}" Then MsgBox "Hola mundo"
End Sub

Alguien tiene una idea mejor?

 

Gracias.

Link to comment
Share on other sites

En 23/7/2021 at 18:14 , Gerson Pineda dijo:

Onkey, tiene un argumento opcional, que es llamar a un procedimiento, bueno ahi agregas el mensaje y listo

Sub MostrarMensaje()
   If Application.OnKey Key:="{c}" Then "MiSub"
End Sub

Sub MiSub()

VBA.MsgBox "Hola mundo"

End Sub

 

Saludos 

Gracias @Gerson Pineda.

Me tocará hacerlo así... Que remedio!

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy