Sviluppare funzionalita su Microsoft Office con VBA Selezionare TextBox specifica

Login Registrati
Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
  • Autore
    Articoli
  • #51972 Score: 0 | Risposta

    Oscar
    Partecipante
      45 pts

      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.
      #51975 Score: 0 | Risposta

      alfrimpa
      Partecipante
        33 pts

        Io non ho capito quando il cursore deve andare sulla textbox21

        #51978 Score: 0 | Risposta

        alexps81
        Moderatore
          58 pts

          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 Sub

           

          #51981 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            272 pts

            Quando 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 Sub
            

            Ti prego, indentare meglio il codice e niente variabili private al modulo ma locali alla subroutine.

            #51982 Score: 0 | Risposta

            vecchio frac
            Senior Moderator
              272 pts

              alexps81 ha scritto:

              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   

              #51984 Score: 0 | Risposta

              Oscar
              Partecipante
                45 pts

                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 Sub

                 Notifico 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

                 

              Login Registrati
              Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
              Rispondi a: Selezionare TextBox specifica
              Gli allegati sono permessi solo ad utenti REGISTRATI
              Le tue informazioni: