The Alexsandra Spaces

Internet - Sicurezza - Excel & VBA

Excel :: Paolo1

Pubblicato da Alexsandra su Febbraio 21, 2008

Questa sezione è riservata a Paolo prego gli altri utenti di postare quì consigli, suggerimenti esempi ma non altre problematiche…. Grazie ••• Ritorna alla pagina precedente •••

Questo è il quesito posto:

vorrei chiederti se te potessi darmi una mano su un file di excel, il quale finira poi per la gestione di un gruppo di volontariato dove ne faccio parte e nel tentativo di fare le cose ben fatte, mi sono complicato la vita ma anche di tanto ;-)) quindi, se te potessi , io sarei felice se potessi inviarti il file e che tu possa dargli un’occhiata.

29 Risposte a “Excel :: Paolo1”

  1. Alexsandra Dice:

    per un gruppo di volontari ti do una mano volentieri, mandami il file, la mia email la vedi a fianco sotto la voce scrivimi.

    PS. spero tu non abbia fretta perchè c’è ancora qualcuno che attende una risposta, intanto mandami il file che lo guardo.

    ciao

  2. paolo Dice:

    grazie mille ti ho inviato il file….

  3. paolo Dice:

    Ciao Ale, ecco in parte quello che volevo fare, cosa ne pensi? è sbagliato come sistema?
    Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
    Worksheets(”equipaggi”).[k11] = “vero”
    Else
    Worksheets(”equipaggi”).Cells(11, 11) = “falso”
    End If

    End Sub

    Private Sub CheckBox2_Click()

    If CheckBox2.Value = True Then
    Worksheets(”equipaggi”).Cells(11, 13) = “vero”
    Else
    Worksheets(”equipaggi”).Cells(11, 13) = “falso”
    End If

    End Sub

    Private Sub CheckBox3_Click()

    If CheckBox3.Value = True Then
    Worksheets(”equipaggi”).[r11] = “vero”
    Else
    Worksheets(”equipaggi”).[r11] = “falso”
    End If

    End Sub

    Private Sub CheckBox4_Click()
    If CheckBox4.Value = True Then
    Worksheets(”equipaggi”).[x11] = “vero”
    Else
    Worksheets(”equipaggi”).[x11] = “falso”
    End If
    End Sub

    Private Sub CheckBox5_Click()
    If CheckBox5.Value = True Then
    Worksheets(”equipaggi”).[aa11] = “vero”
    Else
    Worksheets(”equipaggi”).[aa11] = “falso”
    End If
    End Sub

    Private Sub CheckBox6_Click()
    If CheckBox6.Value = True Then
    Worksheets(”equipaggi”).[ad11] = “vero”
    Else
    Worksheets(”equipaggi”).[ad11] = “falso”
    End If
    End Sub

    Private Sub TextBox1_Change()
    Worksheets(”equipaggi”).[l2] = TextBox1

    End Sub

    Private Sub ComboBox1_Change()
    ComboBox1.RowSource = “elenchi!b10:b15″
    Worksheets(”equipaggi”).[k10] = ComboBox1
    End Sub

    Private Sub TextBox2_Change()
    Worksheets(”equipaggi”).[m5] = TextBox2
    End Sub

    Private Sub TextBox3_Change()
    Worksheets(”equipaggi”).[m6] = TextBox3
    End Sub

    Private Sub TextBox4_Change()
    Worksheets(”equipaggi”).[m4] = TextBox4
    End Sub

    Private Sub UserForm_Click()

    End Sub

  4. Alexsandra Dice:

    io lo scriverei in altra maniera. Come lo hai scritto tu, sfruttando l’evento Change ad ogni modifica vai a scrivere nel foglio. Io invece lascerei che vengano fatte le varie scelte e poi per procedere mettere un command (Ok) ed eseguire le varie operazioni.
    Esempio:
    Private Sub UserForm_Activate()
    CheckBox1.Value = False
    CheckBox2.Value = False
    etcc…
    End Sub
    Poi nell’evento Change metterei il cambiamento
    Private Sub CheckBox1_Click()
    CheckBox6.Value = True
    End sub
    Quando poi vuoi procedere cliccando sul Tasto Ok, puoi fermare l’esecuzione con un Box (”Sei sicuro delle scelte fatte?” ;) con un IF poni la condizione tipo questa
    If MsgBox(”Sei sicuro delle scelte fatte?”, vbYesNo) = 7 Then Exit Sub
    se clicchi su NO esci dalla Sub altrimenti procedi con le tue operazioni.
    Inoltre visto che lavori in un unico foglio (equipaggi) potresti portarti nel foglio ed evitare di usare la dicitura Worksheets(”equipaggi”), ma semplicemente il Range, anche in valore asoluto [M4]=TextBox4.Text

    Prova così, se semplifichi il codice è più facile trovare eventuali errori e sopratutto è più lineare lo stile di programmazione. Prova :D

  5. paolo Dice:

    ok, come al solito, posso solo dirti grazie mille anche per la pazzienza che hai nel sopportarmi ;-)
    ciao e vado subito a provare a fare il tutto….

  6. Alexsandra Dice:

    vai tranquillo, misurati e prova … vedrai che qualcosa ne viene fuori. :D
    Questo è il 1° passo, quando ti invio il file modificato con la grafica nuova credo che sarai più incentivato alla conoscenza del VBA….. vediamo cosa facciamo insieme. Quando sei in difficoltà posta.

    ciao e … buon lavoro

  7. paolo Dice:

    sisi, stai tranquilla che posto quando ne ho bisogno ;-)) e sono sicuro che sara a breve ;-)

  8. Alexsandra Dice:

    concordo con te :D
    anche perchè vediamo di migliorare tutto quello che hai fatto, useremo più eserform e nasconderemo i fogli e ……. un po’ alla volta dai.

  9. paolo Dice:

    eccomi , pensavi che sparissi facilmente ;-)
    allora, io ho provato a modificare il tutto cosi, ma come faccio e dove devo dire al chechbox di cambiare i valori sul foglio?
    seconda domanda, come faccio far cambiare i valori solo alla mia uscita?

    guarda che io sono veramente ignorante in materia!!!
    ciao e sempre grazie

    Private Sub CommandButton1_Click()
    If MsgBox(”sei sicuro delle scelte fatte?”, vbYesNo) = 7 Then Exit Sub
    Unload Me
    End Sub
    Private Sub esci_Click()
    Unload Me
    End Sub
    Private Sub TextBox1_Change()
    [l2] = TextBox1
    End Sub
    Private Sub ComboBox1_Change()
    ComboBox1.RowSource = “elenchi!b10:b15″
    Worksheets(”equipaggi”).[k10] = ComboBox1
    End Sub
    Private Sub TextBox2_Change()
    [m5] = TextBox2
    End Sub
    Private Sub TextBox3_Change()
    [m6] = TextBox3
    End Sub
    Private Sub TextBox4_Change()
    [m4] = TextBox4
    End Sub
    Private Sub UserForm_activate()
    Sheets(”equipaggi”).Select
    CheckBox1.Value = False
    CheckBox2.Value = False
    CheckBox3.Value = False
    CheckBox4.Value = False
    CheckBox5.Value = False
    CheckBox6.Value = False
    End Sub
    Private Sub checkbox1_click()
    CheckBox1.Value = True
    End Sub
    Private Sub checkbox2_click()
    CheckBox2.Value = True
    End Sub
    Private Sub checkbox3_click()
    CheckBox3.Value = True
    End Sub
    Private Sub checkbox4_click()
    CheckBox4.Value = True
    End Sub
    Private Sub checkbox5_click()
    CheckBox5.Value = True
    End Sub
    Private Sub checkbox6_click()
    CheckBox6.Value = True
    End Sub

  10. paolo Dice:

    ecco ancora un’altra domanda, perche le ComboBox si riempiono solo se inserisco una lettera a caso?
    ciao

  11. paolo Dice:

    siiiiiiiiii alla domanda 10 ci sono arrivato, non selezionavo RowSource nelle proprieta!!!

    pero al post nr 9 , non sono riuscito a dare un senso giusto alle cose :-(

  12. Alexsandra Dice:

    Forse mi sono spiegata male io. quando parti, cioè apri la form e azzera tutti i controlli.
    Private Sub UserForm_activate()

    CheckBox1.Value = False
    CheckBox2.Value = False
    CheckBox3.Value = False
    CheckBox4.Value = False
    CheckBox5.Value = False
    CheckBox6.Value = False
    ‘altre istruzioni se ci sono

    End Sub
    a questo punto nella tua form puoi fare le tue scelte, (non usare il Private Sub checkbox6_click())….. fai le tue scelte sui check e i combo e poi sul tasto OK metti quello che devi fare così:

    Private Sub CommandButton1_Click() ‘tasto Ok
    If MsgBox(”sei sicuro delle scelte fatte?”, vbYesNo) = 7 Then Exit Sub
    ScreenUpdating = False
    sheets(”equipaggi”).select
    ‘ora passa ai check
    If CheckBox1 = True Then [k11] = “True” = Else [k11] = “False”
    If CheckBox2 = True Then [k13] = “True” = Else [k13] = “False”
    ‘etc….(per i check)
    [l2] = TextBox1.text
    [m5] = TextBox2.text
    ‘etc… per i text
    [k10] = ComboBox1.text
    ScreenUpdating = True
    End Sub

    non ho provato il codice, ma dovrebbe funzionare, sono di fretta stasera, prova ad inserirlo e vedi come và.

    ciao

  13. paolo Dice:

    ok , e sempre con il tuo aiuto c’è l’ho fatta, anche dovendo modificare un attimo il tuo codice….
    fatidica domanda, allora io cosi facendo vado a scegliere i mezzi e i traini, ma secondo te sempre usando una userform, posso assegnare anche i volontari ai mezzi? se si, quali strumenti mi consigli?
    grazie grazie mille!!!

  14. paolo Dice:

    Ciao Ale, sono certo che nel modo sbagliato, ma sono riuscito anche a fare quello che ti chiedevo nel post precedente, adesso ho un’altro problema,(e te dirai, che strano!) … ;-)
    nella mia userform, vado a selezionare i mezzi, poi si apre un’altra userform, dove vado ad abbinare mezzi e personale e fin qui tutto bene, ma nel momento che voglio metter un blocco nella seconda userform, in maniera che i mezzi che non ho selezionato nella userform precedente non possano essere compilati, qui mi perdo…
    Private Sub ChkDisabilita_Change()
    If UserForm1 chechbox1.Value = True Then (in questo punto, vorrei richiamare il chec della prima user))
    Pajero.Enabled = False
    Pajero.Enabled = False
    Else
    Pajero.Enabled = True
    Pajero.Enabled = True
    End If
    End Sub

    cmq ti rimando il file con gli ultimi aggiornamenti, cosi puoi vedere.
    grazie come al solito e buona giornata

  15. Alexsandra Dice:

    rimandami il file, finchè ero a letto con l’influenza mi hanno formattato il pc e ho perso le email.Di sicuro non puoi fare quanto hai scritto tra parentesi nel post, o lo scrivi in una cella fuori dall’area di lavoro o in un foglio apposito (vedi lezione sui Combobox, foglio setup) e allora ti riesce di trovare il dato, ma quando chiudi un form le variabili si azzerano e non riesci a recuperarne il valore.

    Usare un foglio di setup serve proprio a questo (lo puoi chiamare come vuoi il foglio) e volevo suggerirti questa modifica prima di finire a letto per un po’ di giorni. puoi inserire anche i dati dei vari mezzi, creando degli intervalli e andare a recuperare i dati che ti servono.

  16. paolo Dice:

    Domandone! se utilizzando una userform, vado a compilare dei valori su un foglio di calcolo, dove ci sono delle formule, e una di queste formule è: somma.se, perche non mi viene vissualizzato il dato? mi spiego meglio, nel foglio viene vissualizzato il numero da me imputato, ma non viene considerato nella mia somma!
    ciao a tutti e spero che Alexandra stia un po meglio!! ciao ciao

  17. Alexsandra Dice:

    bisogna vedere come hai messo il codice in vba.
    puoi usare vba e “sparare” le formule direttamente nel foglio, se hai un somma.se devi convertirlo in vba per cui somma.se in vba diventa …..???? :D

  18. paolo Dice:

    e ma cosi non vale!!!!!!!!!!!!!!!
    ok cmq , ma senti, ho ancora fatto degli aggiornamenti al mitico file!!! posso mandarteli? sai comè, temo un tuo insulto, ;-)
    allora attendo tue notizie, e per il momento ti dico sempre grazie mille …

  19. Alexsandra Dice:

    e ma cosi non vale!!!!!!!!!!!!!!!

    bella la sorpresa ehhh…. :D un amico mio diceva :”se vuoi aiutare un uomo, non dargli un pesce, insegnali a pescare.” :D

    Mandami pure il file, che sono curiosa di vederlo

  20. paolo Dice:

    Ciao Ale, se vuoi , metti pure anche il nostro file cosi, posono vedere anche gli altri, come stiamo procedendo…..PS ma ti è arrivata l’e-mail con il file? ciao e ti auguro un magnifico week end

  21. Alexsandra Dice:

    si il file mi è arrivato, ma ti avevo anche mandato una mail con delle richieste di info che non ho ancora ricevuto per procedere.

  22. paolo Dice:

    Ciao Alexandra
    ma non mi è arrivato nulla!!!
    potresti richiedermele, grazie mille

  23. paolo Dice:

    altro domandone, sai nel mio foglio elenco chiamate a cascata! ecco, questo non è nient’altro che un elenco dove io vado a mettere i nominativi , e nelle celle a fianco, escono i numeri di telefono, alla fine questo foglio, mi serve per poterlo stampare e dare ai volontari in maniera che ogni volontario , sappia a chi telefonare per dare qualsiasi messagio ad un’altro volontario.
    come mi consigli di procedere per fare il tutto? ciao ciao

  24. Alexsandra Dice:

    chissà a chi ho scritto allora ???? Le domande erano queste
    Anagrafica volontari:
    Usi 3 fogli (tess.magn,dati personali,dati personali incerti) perchè? hai qualche esigenza particolare? Io farei tutto in un unico foglio e lavorei nella form.

    Stessa cosa per i mezzi, tutti in un unico foglio, e archivio le caratteristiche dei mezzi.

    Cominciamo da quì e poi andiamo avanti, semplificare la partenza è già una buona cosa, poi vediamo tutto il resto, perchè non è che abbia capito bene come fai gli abbinamenti (volontari-mezzi) ma intanto mettiamo a posto quello esposto sopra.

  25. paolo Dice:

    Alexandra!!!
    ho fatto ancora queste due modifiche, cosa ne pensi? le ho fatte per far si che compilando i check della userform1 vengano bloccati gli elenchi nella userpersonale_mezzi.
    da 0 a 10? il meno non vale! ;-)

    user form1
    Private Sub CommandButton2_Click()

    If MsgBox(”sei sicuro delle scelte fatte?”, vbYesNo) = 7 Then Exit Sub

    ScreenUpdating = False
    Sheets(”equipaggi”).Select

    If CheckBox1 = True Then [k11] = True Else [k11] = False
    If CheckBox2 = True Then [m11] = True Else [m11] = False
    If CheckBox3 = True Then [r11] = True Else [r11] = False
    If CheckBox4 = True Then [x11] = True Else [x11] = False
    If CheckBox5 = True Then [aa11] = True Else [aa11] = False
    If CheckBox6 = True Then [ad11] = True Else [ad11] = False
    Userpersonale_mezzi.Show
    ScreenUpdating = True
    End Sub

    user personale_mezzi
    Private Sub UserForm_Activate()
    If Worksheets(”equipaggi”).[k11] = vero = True Then ‘abilito l’elenco pajero
    ComboBox1.Enabled = False
    ComboBox2.Enabled = False
    Else
    ComboBox1.Enabled = True
    ComboBox2.Enabled = True
    End If
    If Worksheets(”equipaggi”).[m11] = vero = True Then ‘abilito l’elenco free lander
    ComboBox3.Enabled = False
    ComboBox4.Enabled = False
    ComboBox5.Enabled = False
    ComboBox6.Enabled = False
    ComboBox7.Enabled = False
    Else
    ComboBox3.Enabled = True
    ComboBox4.Enabled = True
    ComboBox5.Enabled = True
    ComboBox6.Enabled = True
    ComboBox7.Enabled = True
    End If
    If Worksheets(”equipaggi”).[r11] = vero = True Then ‘abilito l’elenco ducato canile
    ComboBox8.Enabled = False
    ComboBox9.Enabled = False
    ComboBox10.Enabled = False
    ComboBox11.Enabled = False
    ComboBox12.Enabled = False
    ComboBox13.Enabled = False

    Else
    ComboBox8.Enabled = True
    ComboBox9.Enabled = True
    ComboBox10.Enabled = True
    ComboBox11.Enabled = True
    ComboBox12.Enabled = True
    ComboBox13.Enabled = True
    End If
    If Worksheets(”equipaggi”).[aa11] = vero = True Then ‘abilito l’elenco furgone vecchio
    ComboBox19.Enabled = False
    ComboBox20.Enabled = False
    ComboBox21.Enabled = False
    Else
    ComboBox19.Enabled = True
    ComboBox20.Enabled = True
    ComboBox21.Enabled = True
    End If
    If Worksheets(”equipaggi”).[aa11] = vero = True Then ‘abilito l’elenco furgone vecchio
    ComboBox22.Enabled = False
    ComboBox23.Enabled = False
    ComboBox24.Enabled = False
    Else
    ComboBox22.Enabled = True
    ComboBox23.Enabled = True
    ComboBox24.Enabled = True
    End If
    If Worksheets(”equipaggi”).[ad11] = vero = True Then ‘abilito l’elenco bremach
    ComboBox25.Enabled = False
    ComboBox26.Enabled = False
    ComboBox27.Enabled = False
    Else
    ComboBox25.Enabled = True
    ComboBox26.Enabled = True
    ComboBox27.Enabled = True
    End If

    End Sub

  26. paolo Dice:

    Ciao Alexandra, spero tutto bene, visto che sei sparita…sara’ mica che ho fatto troppe domande? ;-)
    cmq al post nr 17 (per il fatto di sparare la formula in vba)penso che la risposta sia :Range(”e6″).Formula = “=SUMIF(g20:g100,g6,e20:e100)” dove la metto nella usermagvestiz, ma anche cosi, non mi funziona la somma. mi funziona solo se vado ad imputare direttamente nel foglio i dati, ma non se li inserisco tramite userform, sara’ mica una “specie” di configurazione della cella? ciao e aspetto sempre con ansia il tuo mitico aiuto….

  27. Alexsandra Dice:

    Non sono sparita, tranquillo, ci sono :D
    Se tardo nelle risposte è perchè sto mettendo on line il nuovo sito, ancora qualche giorno ed ho finito.

    Questa riga di codice è sbagliata
    If Worksheets(”equipaggi”).[k11] = vero = True Then ‘abilito l’elenco pajero

    ti dovrebbe dare un errore

  28. paolo Dice:

    Ciao Alexandra
    dalle prove che ho fatto, non mi da degli errori, anzi, sembra funzionare il tutto!
    cmq ora concentrati sul sito, poi mettiamo in quadro il tutto….l’importante e che non sei scappata ;-)
    ciao ciao

  29. paolo Dice:

    Ciao Alexandra
    sai darmi un imput come posso fare una TabStrip su un foglio unico?
    mi spiego, fatta su piu fogli mi funziona il tutto, ma io vorrei selezionare delle colonne su un unico foglio.
    ciao e come al solito GRAZIEEEEE

Lascia una Risposta

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>