Excel e gli applicativi Microsoft Office Semplificazione codice Excel

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

    Gret
    Partecipante

      Ciao a tutti,

      chiedo un vostro aiuto per la semplificazione di un codice.

      Questo codice è ubicato nell'evento Activate dell'userform, la funzione di questo codice è quello di bloccare le textbox da ogni inserimento con colore di sfondo grigio.

      `Private Sub UserForm_Activate()
      TextBox93.Locked = True
      TextBox93.BackColor = &HE0E0E0
      TextBox94.Locked = True
      TextBox94.BackColor = &HE0E0E0
      TextBox95.Locked = True
      TextBox95.BackColor = &HE0E0E0
      TextBox96.Locked = True
      TextBox96.BackColor = &HE0E0E0
      TextBox97.Locked = True
      TextBox97.BackColor = &HE0E0E0
      TextBox98.Locked = True
      TextBox98.BackColor = &HE0E0E0
      TextBox99.Locked = True
      TextBox99.BackColor = &HE0E0E0
      TextBox100.Locked = True
      TextBox100.BackColor = &HE0E0E0
      TextBox101.Locked = True
      TextBox101.BackColor = &HE0E0E0
      TextBox102.Locked = True
      TextBox102.BackColor = &HE0E0E0
      TextBox103.Locked = True
      TextBox103.BackColor = &HE0E0E0
      TextBox105.Locked = True
      TextBox105.BackColor = &HE0E0E0
      TextBox153.Locked = True
      TextBox153.BackColor = &HE0E0E0
      TextBox50.Locked = True
      TextBox50.BackColor = &HE0E0E0
      TextBox68.Locked = True
      TextBox68.BackColor = &HE0E0E0
      TextBox69.Locked = True
      TextBox69.BackColor = &HE0E0E0
      TextBox70.Locked = True
      TextBox70.BackColor = &HE0E0E0
      TextBox71.Locked = True
      TextBox71.BackColor = &HE0E0E0
      TextBox72.Locked = True
      TextBox72.BackColor = &HE0E0E0
      TextBox73.Locked = True
      TextBox73.BackColor = &HE0E0E0
      TextBox74.Locked = True
      TextBox74.BackColor = &HE0E0E0
      TextBox75.Locked = True
      TextBox75.BackColor = &HE0E0E0
      TextBox76.Locked = True
      TextBox76.BackColor = &HE0E0E0
      TextBox77.Locked = True
      TextBox77.BackColor = &HE0E0E0
      TextBox90.Locked = True
      TextBox90.BackColor = &HE0E0E0
      End Sub
      `

      Sarebbe possibile snellirlo? Se sì, qualche suggerimento sarebbe gradito  

      Grazie in anticipo della disponibilità e buon weekend  

      #17645 Score: 1 | Risposta

      Luca73
      Partecipante
        58 pts

        Ciao

        una text box puoi anche richiamarla come componente del livello superiore

        UserForm1.Controls("TextBox1").Text = "Luca"

        in tal modo puoi usare un ciclo del tipo

        for indice = 93 to 103
           UserForm1.Controls("TextBox" & indice).Text = "Luca"
        next
        

        Il tutto diventa più semplice se chiami tutte le text box in maniera sequenziale.

        Altra possibilità potrebbe essere di mettere le text box in un vettore e poi ciclare sul vettore

        Private Sub CommandButton1_Click()
        
        Dim vettore()
        ReDim vettore(1 To 2)
        Set vettore(1) = TextBox93
        Set vettore(2) = TextBox95
        
        vettore(1).Text = "Luca"
        vettore(2).Text = "pippo"
        End Sub
        
        #17646 Score: 0 | Risposta

        Gret
        Partecipante

          Il primo codice è una bomba !

          Ho messo i blocchi delle textbox che sono sequenziali nell'indice, le poche textbox che non sono sequenziali le ho lasciate fuori.

          Grazie mille e buon weekend!  

           

        Login Registrati
        Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
        Rispondi a: Semplificazione codice Excel
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni: