› Sviluppare funzionalita su Microsoft Office con VBA › Selezionare TextBox specifica
-
AutoreArticoli
-
Quando lancio la Form , ho il cursore sulla Box 1 , faccio invio e arrivo alla Box 24 , faccio invio , la Barra aumenta di 1 , e il cursore mi va sulla Box 1 , ma vorrei che andasse sulla Box 21
Nessuno dei miei tentativi è andato a buon fine
Grazie a tutti
Allegati:
You must be logged in to view attached files.Mah...non so se ho capito...vuoi provare così?
Cancella
Private Sub TextBox24_Exit(ByVal Cancel As MSForms.ReturnBoolean)e sostituiscila con questa:Private Sub TextBox24_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then ScrollBar1 = ScrollBar1 + 1 TextBox21.SetFocus End If End SubQuando dalla colonna 6, riga azzurra, si preme invio, la scroll bar avanza di uno, la colonna 6 diventa la colonna 7 e la richiesta e' posizionarsi sulla prima cella, cioe' quella verde, della colonna 7 medesima.
E' cosi' Oscar?
Option Explicit Private Sub UserForm_Initialize() ScrollBar1.Min = 0 ScrollBar1.Max = 100 ScrollBar1 = 0 update_bar End Sub Private Sub update_bar() Dim i As Integer Dim x As Integer Dim y As Integer Dim n As Integer For i = 1 To 6 Me("Label" & i) = i + ScrollBar1 Next n = 0 For x = 1 To 6 For y = 1 To 4 n = n + 1 Me("TextBox" & n) = Cells(y, x + ScrollBar1) Next Next End Sub Private Sub TextBox24_Exit(ByVal Cancel As MSForms.ReturnBoolean) ScrollBar1 = ScrollBar1 + 1 Call update_bar TextBox24.SetFocus: Cancel = True End SubTi prego, indentare meglio il codice e niente variabili private al modulo ma locali alla subroutine.
e sostituiscila con questa:
Il codice funziona meglio del mio perche' si posiziona correttamente sulla cella verde mentre il mio rimane fermo sulla cella azzurra. Bravo Alex
Ho provato le due macro , vanno benissimo entrambe
Quella di Alex è più scarnita ed è perfetta
Quella di Frac anche se un pò più complessa e si ferma sulla riga azzurra è sempre perfetta , quello che conta è che rimanga sempre sulla colonna 6
Grazie mille ragazzi non ci sarei mai arrivato
Sinceramente avevo provato anche così ma mi dava errore adesso ho capito dove sbagliavo
Private Sub TextBox24_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 10 Then ScrollBar1 = ScrollBar1 + 1 TextBox21.SetFocus End If End SubNotifico che provando bene , quella di Frac si ferma si sulla riga azzurra dell'ultima colonna , ma se devo scrivere sulle Box sopra , questa mi salta in avanti di più 1 ad ogni clik
-
AutoreArticoli
