Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di leomac
    Registrato dal
    Mar 2009
    Messaggi
    188

    [VBA/Excell '07] Restringere codice

    Salve a tutti,
    mi aiutate a restringere questo codice:
    codice:
    Private Sub OptionButton1_Click()
    'attiva
    CommandButton4.Visible = True
    ComboBox1.Enabled = True
    ComboBox1.Locked = False
    TextBox1.Enabled = True
    TextBox1.Locked = False
    TextBox2.Enabled = True
    TextBox2.Locked = False
    TextBox3.Enabled = True
    TextBox3.Locked = False
    TextBox4.Enabled = True
    TextBox4.Locked = False
    TextBox5.Enabled = True
    TextBox5.Locked = False
    'disattiva
    CommandButton10.Visible = False
    CommandButton5.Visible = False
    CommandButton6.Visible = False
    CommandButton7.Visible = False
    CommandButton8.Visible = False
    CommandButton9.Visible = False
    ComboBox2.Enabled = False
    ComboBox2.Locked = True
    TextBox6.Enabled = False
    TextBox6.Locked = True
    TextBox7.Enabled = False
    TextBox7.Locked = True
    TextBox8.Enabled = False
    TextBox8.Locked = True
    TextBox9.Enabled = False
    TextBox9.Locked = True
    TextBox10.Enabled = False
    TextBox10.Locked = True
    ComboBox3.Enabled = False
    ComboBox3.Locked = True
    TextBox11.Enabled = False
    TextBox11.Locked = True
    TextBox12.Enabled = False
    TextBox12.Locked = True
    TextBox13.Enabled = False
    TextBox13.Locked = True
    TextBox14.Enabled = False
    TextBox14.Locked = True
    TextBox15.Enabled = False
    TextBox15.Locked = True
    ComboBox4.Enabled = False
    ComboBox4.Locked = True
    TextBox16.Enabled = False
    TextBox16.Locked = True
    TextBox17.Enabled = False
    TextBox17.Locked = True
    TextBox18.Enabled = False
    TextBox18.Locked = True
    TextBox19.Enabled = False
    TextBox19.Locked = True
    TextBox20.Enabled = False
    TextBox20.Locked = True
    ComboBox5.Enabled = False
    ComboBox5.Locked = True
    TextBox21.Enabled = False
    TextBox21.Locked = True
    TextBox22.Enabled = False
    TextBox22.Locked = True
    TextBox23.Enabled = False
    TextBox23.Locked = True
    TextBox24.Enabled = False
    TextBox24.Locked = True
    TextBox25.Enabled = False
    TextBox25.Locked = True
    ComboBox6.Enabled = False
    ComboBox6.Locked = True
    TextBox26.Enabled = False
    TextBox26.Locked = True
    TextBox27.Enabled = False
    TextBox27.Locked = True
    TextBox28.Enabled = False
    TextBox28.Locked = True
    TextBox29.Enabled = False
    TextBox29.Locked = True
    TextBox30.Enabled = False
    TextBox30.Locked = True
    ComboBox7.Enabled = False
    ComboBox7.Locked = True
    End Sub
    
    Private Sub OptionButton2_Click()
    'attiva
    CommandButton5.Visible = True
    ComboBox2.Enabled = True
    ComboBox2.Locked = False
    TextBox6.Enabled = True
    TextBox6.Locked = False
    TextBox7.Enabled = True
    TextBox7.Locked = False
    TextBox8.Enabled = True
    TextBox8.Locked = False
    TextBox9.Enabled = True
    TextBox9.Locked = False
    TextBox10.Enabled = True
    TextBox10.Locked = False
    'disattiva
    CommandButton4.Visible = False
    CommandButton10.Visible = False
    CommandButton6.Visible = False
    CommandButton7.Visible = False
    CommandButton8.Visible = False
    CommandButton9.Visible = False
    ComboBox1.Enabled = False
    ComboBox1.Locked = True
    TextBox1.Enabled = False
    TextBox1.Locked = True
    TextBox2.Enabled = False
    TextBox2.Locked = True
    TextBox3.Enabled = False
    TextBox3.Locked = True
    TextBox4.Enabled = False
    TextBox4.Locked = True
    TextBox5.Enabled = False
    TextBox5.Locked = True
    ComboBox3.Enabled = False
    ComboBox3.Locked = True
    TextBox11.Enabled = False
    TextBox11.Locked = True
    TextBox12.Enabled = False
    TextBox12.Locked = True
    TextBox13.Enabled = False
    TextBox13.Locked = True
    TextBox14.Enabled = False
    TextBox14.Locked = True
    TextBox15.Enabled = False
    TextBox15.Locked = True
    ComboBox4.Enabled = False
    ComboBox4.Locked = True
    TextBox16.Enabled = False
    TextBox16.Locked = True
    TextBox17.Enabled = False
    TextBox17.Locked = True
    TextBox18.Enabled = False
    TextBox18.Locked = True
    TextBox19.Enabled = False
    TextBox19.Locked = True
    TextBox20.Enabled = False
    TextBox20.Locked = True
    ComboBox5.Enabled = False
    ComboBox5.Locked = True
    TextBox21.Enabled = False
    TextBox21.Locked = True
    TextBox22.Enabled = False
    TextBox22.Locked = True
    TextBox23.Enabled = False
    TextBox23.Locked = True
    TextBox24.Enabled = False
    TextBox24.Locked = True
    TextBox25.Enabled = False
    TextBox25.Locked = True
    ComboBox6.Enabled = False
    ComboBox6.Locked = True
    TextBox26.Enabled = False
    TextBox26.Locked = True
    TextBox27.Enabled = False
    TextBox27.Locked = True
    TextBox28.Enabled = False
    TextBox28.Locked = True
    TextBox29.Enabled = False
    TextBox29.Locked = True
    TextBox30.Enabled = False
    TextBox30.Locked = True
    ComboBox7.Enabled = False
    ComboBox7.Locked = True
    End Sub
    calcolate che il tutto lo devo ripetere per 7 option button.


  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    la domanda sa di esercizio a casa.. cmq meglio se fai delle sub che settano determinate cose..

    ad esempio una sub che setta le text box

    [code]
    TextBox1.Enabled = True
    TextBox1.Locked = False
    TextBox2.Enabled = True
    TextBox2.Locked = False
    TextBox3.Enabled = True
    TextBox3.Locked = False
    TextBox4.Enabled = True
    TextBox4.Locked = False
    TextBox5.Enabled = True
    TextBox5.Locked = False
    [code]

    diventa

    codice:
    Private Sub SetTextBox(ByVal text as TextBox) -> non ricordo se la sintassi è giusta
        text.Enabled = True
        text.Locked = False
    end sub
    e così via per i controlli comuni

  3. #3
    Utente di HTML.it L'avatar di leomac
    Registrato dal
    Mar 2009
    Messaggi
    188
    Stoicenko, scusami ma sono alle prime armi e direi che quello che mi hai postato non è che l'ho capito proprio alla perfezione. Dovrei creare delle Private sub ByVal per i tipi di comandi che voglio siano ture o false?... e poi richiamo tale sub nella OptionButton1_Click??
    Puoi spiegarti meglio?


  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    dico che fai per N textBox 2 operazioni uguali.. e così anche per altri controlli..

    per dimezzare il codice, puoi unire le operazioni uguali in una sub a cui passi il controllo (nel mio esempio la textbox) su cui fare le operazioni

  5. #5
    Utente di HTML.it L'avatar di leomac
    Registrato dal
    Mar 2009
    Messaggi
    188
    Ho fatto in altro modo:
    1 - Ho creato una sub che disattivasse tutto;
    2 - Per ogni pulsante OptionButton: Richiamavo la sub disattiva e poi identificavo quello che dovevo attivare.
    Grazie lo stesso


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.