2012-03-22 22 views

risposta

21

Per assegnare un tasto della tastiera al pulsante sul foglio è possibile utilizzare questo codice, è sufficiente copiare questo codice sul foglio che contiene il pulsante.
Qui Return specifica la chiave e get_detail è il nome della procedura.

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

Application.OnKey "{RETURN}", "get_detail" 

End Sub 

ora dal foglio ogniqualvolta si preme Invio, verrà chiamata la macro assegnata.

+2

Questa risposta offre maggiore flessibilità. – kevinarpe

+3

Forse sarebbe meglio assegnare questo codice all'evento "Workbook_open". –

+0

Una combinazione di 'OnKey' e' Workbook_Open' mi consente di creare una combinazione che funziona su ogni macchina. – ZygD

2

F5 è un collegamento standard per eseguire una macro nell'editor VBA. Non penso che tu possa aggiungere un tasto di scelta rapida nell'editor stesso. Se si desidera eseguire la macro da Excel, è possibile assegnare una scorciatoia da lì.

In excel premere alt + F8 per aprire la finestra di dialogo macro. selezionare la macro per cui si desidera assegnare il tasto di scelta rapida e fare clic sulle opzioni. lì puoi assegnare una scorciatoia alla macro.

30

Secondo Microsoft's documentation

  1. Dal menu Strumenti, scegliere Macro e quindi scegliere Macro.
  2. Nella casella Nome macro, immettere il nome della macro che si desidera assegnare a un tasto di scelta rapida da tastiera.
  3. Fare clic su Opzioni.
  4. Se si desidera eseguire la macro premendo un tasto di scelta rapida della tastiera, immettere una lettera nella casella Tasto di scelta rapida. È possibile utilizzare CTRL + lettera (per lettere minuscole) o CTRL + MAIUSC + lettera (per lettere maiuscole), dove lettera è un qualsiasi tasto lettera sulla tastiera. Il tasto di scelta rapida non può utilizzare un numero o un carattere speciale, ad esempio @ o #.

    Nota: il tasto di scelta rapida sostituirà qualsiasi tasto di scelta rapida predefinito di Microsoft Excel equivalente mentre la cartella di lavoro che contiene la macro è aperta.

  5. Se si desidera includere una descrizione della macro, digitarla nella casella Descrizione.

  6. Fare clic su OK.
  7. Fare clic su Annulla.
+3

Come sidenote @ user1283776 , stai attento quando noi ing 'Shift' e' Application.Workbooks.Open (path) 'tutti insieme, sembra che ci sia un bug noto che rende lo script VB appeso. Vedi i dettagli qui: http://stackoverflow.com/questions/17409524 – ForceMagic

+0

Mi dispiace un po 'con 4. Posso usare CTRL + # e CTRL + (0-9) almeno impostandolo tramite codice. Ma ho qualche problema con ALT + (0-9) in questo momento. – Jan

1

Ecco come assegnare una scelta rapida da tastiera a una macro personalizzata in Word 2013. Lo scenario è stato creato una macro denominata "fred" e si desidera eseguire la macro digitando Ctrl + f.

  1. Fare clic su File, Opzioni.
  2. Fare clic su Personalizza barra multifunzione (dal mio punto di vista questo è il passo non intuitivo).
  3. Fare clic sul pulsante "Tasti di scelta rapida: Personalizza".
  4. Nella casella di elenco Categorie scorrere fino al pulsante e selezionare Macro.
  5. La casella di riepilogo Macro ora dovrebbe mostrare l'elenco di macro personalizzate. Seleziona "fred".
  6. Fare clic sulla casella di testo "Premere nuovo tasto di scelta rapida" per renderla attiva.
  7. Digitare Ctrl + f. Questo dovrebbe apparire nella casella di testo.
  8. Controllare la casella di riepilogo "Tasti correnti". In questo caso mostra "Attualmente assegnato a NavPaneSearch".
  9. Se non ti dispiace ignorando che di default, fare clic sul pulsante "Assegna" in basso a sinistra per assegnare "Ctrl + F: per eseguire il '' macro fred

Per default l'assegnazione è salvato nel modello di documento Normal.dotm Se questa assegnazione di tastiera è univoca per questo documento, è possibile modificare il menu a discesa "Salva modifiche" sul nome del documento

+1

> "3. Fare clic sul pulsante" Tasti di scelta rapida: Personalizza ".." Questo non esiste nella mia finestra di dialogo .. –

0

F tasti funzione (F1, F2, F3, F4, F5 ecc.) Possono essere assegnati a macro con i seguenti codici:

Sub A_1() 
    Call sndPlaySound32(ThisWorkbook.Path & "\a1.wav", 0) 
End Sub 
Sub B_1() 
Call sndPlaySound32(ThisWorkbook.Path & "\b1.wav", 0) 
End Sub 
Sub C_1() 
Call sndPlaySound32(ThisWorkbook.Path & "\c1.wav", 0) 
End Sub 
Sub D_1() 
Call sndPlaySound32(ThisWorkbook.Path & "\d1.wav", 0) 
End Sub 
Sub E_1() 
Call sndPlaySound32(ThisWorkbook.Path & "\e1.wav", 0) 
End Sub 

Sub auto_open() 
Application.OnKey "{F1}", "A_1" 
Application.OnKey "{F2}", "B_1" 
Application.OnKey "{F3}", "C_1" 
Application.OnKey "{F4}", "D_1" 
Application.OnKey "{F5}", "E_1" 
End Sub 
0

Mi sono imbattuto in questo problema me stesso. L'unica soluzione che ho è di registrare prima la macro in una cartella di lavoro di Excel. Quindi, trascinare e rilasciare IL MODULO dalla cartella di lavoro aperta nei moduli aggiuntivi. Questa sarà una copia del modulo sopra, ma la scorciatoia da tastiera assegnata ad esso continuerà per fortuna.

Ho appena registrato una macro spazzatura e spostarla lì, quindi copiare il codice dal mio modulo reale.

Mi sono sentito così bene da capire, mi sono sentito come se dovessi rispondere ai post di 5 anni che ho trovato sull'argomento !!!

0

Il problema che ho avuto con quanto sopra è che volevo associare un tasto di scelta rapida con una macro in un xlam che non ha un'interfaccia visibile. Ho trovato che il folllowing lavorato

Per associare un tasto di scelta rapida con una macro

In Excel (non VBA) sulle Developer Tab fare clic su Macro - nessuna macro verrà mostrato Digitare il nome del Comparto il pulsante Opzioni dovrebbe poi essere abilitata Cliccalo Ctrl sarà il valore predefinito Tenere premuto shift e premere la lettera desiderata come shift e a assocerà Ctrl-shift-a con il sub

Problemi correlati