Forum di Excel e VBA, per condividere esperienze e risolvere problemi su: Excel, Word, Access, Power Point, Microsoft Office, macro, Visual Basic e Visual Studio.
Tasto Tab in combobox di Massimo84 (utente non iscritto) data: 04/12/2016 19:50:34
Ciao ragazzi,
ricorro a voi perchè ho un piccolo problema con excel.
Avrei bisogno di una formula su vb che mi permetta di passare con il tasto TAB (per velocizzare) da una cella a una combobox,
Ad esempio vorrei usare il tasto tab per passare dalla cella b3 alla combobox1.
Mi potete aiutare?
Grazie
di Zer0Kelvin data: 04/12/2016 22:59:05
Ciao.
Qui trovi la soluzione
msdn.microsoft.com/en-us/library/office/ff197461.aspx
Una volta eseguita la prima istruzione (vedi sotto), il tasto TAB provocherà l'esecuzione di MyProc.
Alla fine (per es. alla chiusura del Workbook) occorre rimettere le cose a posto (seconda istruzione).
di Massimo84 (utente non iscritto) data: 11/12/2016 10:53:43
Ciao Zer0Kelvin,
grazie della risposta.
Sono riuscito con una funzione a usare il tasto tab per andare da una combobox a una cella:
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Or KeyCode = vbKeyReturn Then
If CBool(Shift And 1) Then
ComboBox1.Activate
Else
ActiveSheet.Range("E8").Activate
End If
End If
End Sub
Ma non riesco a farlo da cella a combobox.
Non riesco ad esempio a passare con tab da cella G8 a Combobox2.
Mi sai dare qualche delucidazione?
Grazie
di Massimo84 (utente non iscritto) data: 22/01/2017 13:04:08
Zer0Kelvin riesci ad aiutarmi?
Grazie
di Massimo84 (utente non iscritto) data: 22/01/2017 14:32:14
Ragazzi in alternativa è possibile con un ciclo ripetere questa operazione a 10 combobox senza doverla scrivere 10 volte?
Ci ho provato ma si blocca sempre alla prima
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Or KeyCode = vbKeyReturn Then
If CBool(Shift And 1) Then
ComboBox1.Activate
Else
ComboBox2.Activate
End If
End If
End Sub
Grazie in anticipo
di patel data: 22/01/2017 14:38:34
se vuoi risposte attendibili allega un file di esempio con anche i tuoi tentativi non riusciti
di Massimo84 (utente non iscritto) data: 22/01/2017 14:47:54
Ecco l'esempio:
For i = 1 to 5
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyTab Or KeyCode = vbKeyReturn Then
If CBool(Shift And i) Then
ComboBox1.Activate
Else
ComboBox2.Activate
End If
End If
next i
End Sub
Grazie in anticipo dell'aiuto.
di patel data: 22/01/2017 16:13:03
un file su cui testare la tua macro e le soluzioni