Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 30 di 39

Discussione: Correzione dati mirata



  1. #1
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Correzione dati mirata

    Ciao a tutti,
    l'evoluzione del file https://www.dropbox.com/s/qa30xp9vj5...2%2B.xlsm?dl=0 ha reso il pulsante EDITA ( presente nel form del foglio "Anagrafica" non più efficace.
    Infatti nasceva per aggiornare i dati in un solo foglio di lavoro:
    Codice: 
    Private Sub Label37_Click()
    Dim Degistirilecek_Satir As Long
    Dim sor As String
    If TextBox1 = "" Or TextBox2 = "" Then
    Call MsgBox("Operazione effettuata", vbInformation, "Avviso")
    Exit Sub
    End If
    
    sor = MsgBox("Correggo i dati?", vbYesNo)
    If sor = vbNo Then Exit Sub
    
     Degistirilecek_Satir = ListBox1.ListIndex + 3
                            
                            Sheets("Anagrafica").Range("B" & Degistirilecek_Satir).Value = TextBox15.Text 'badge
                    
                            Sheets("Anagrafica").Range("D" & Degistirilecek_Satir).Value = TextBox1.Text 'cognome
                    
                            Sheets("Anagrafica").Range("E" & Degistirilecek_Satir).Value = TextBox2.Text 'nome
                           
                            Sheets("Anagrafica").Range("G" & Degistirilecek_Satir).Value = TextBox12.Text 'data nascita
                                       
                            Sheets("Anagrafica").Range("H" & Degistirilecek_Satir).Value = TextBox13.Text 'luogo nascita
                                            
                            Sheets("Anagrafica").Range("I" & Degistirilecek_Satir).Value = TextBox14.Text 'codice fiscale
                                               
                            Sheets("Anagrafica").Range("K" & Degistirilecek_Satir).Value = ComboBox1.Value 'stabilimento
                Sheets("Anagrafica").Range("J" & Degistirilecek_Satir).Value = ComboBox7.Value 'qualifica
                Sheets("Anagrafica").Range("L" & Degistirilecek_Satir).Value = ComboBox3.Value 'ruolo aziendale
                Sheets("Anagrafica").Range("M" & Degistirilecek_Satir).Value = ComboBox4.Value 'ruolo sicurezza
                Sheets("Anagrafica").Range("N" & Degistirilecek_Satir).Value = ComboBox5.Value 'titolo studio
                Sheets("Anagrafica").Range("O" & Degistirilecek_Satir).Value = ComboBox6.Value 'in forza
    
                            Sheets("Anagrafica").Range("G" & Degistirilecek_Satir).HorizontalAlignment = xlRight
    
                            Sheets("Anagrafica").Select
    Call MsgBox("Operazione effettuata", vbInformation, "Avviso")
    End Sub
    Ora dovrebbe andare a cercare il nominativo in tutti i fogli di lavoro e inplementare in maniera mirata le informazioni aggiunte e/o modificate.
    E' fattibile?

    Esempio: se modifico lo stato di un operatore da SOMMINISTRATO a SI i dati che in precedenza ha caricato in Anagrafica (2) vanno inseriti anche in ANAGRAFICA idem per i dati 1_Form Somm che vanno spostati in 1_Formazione Sicurezza.

    L'esempio è volutamente non esaustivo perchè ovviamente aspetto solo un esempio operativo poi agli incroci e sistemazioni varie ci penso io.

    Grazie in anticipo
    Gene

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7153
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300

    Re: Correzione dati mirata

    Ciao Gene,
    il meccanismo sarebbe in sostanza semplice, basterebbe prevedere le stesse condizioni dell'inserimento su quel pezzo di codice.

    Codice: 
    Private Sub Label37_Click()
    Dim k As Long
    Dim sor As String
    
    
    Dim wks As Worksheet, wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
    Dim wks4 As Worksheet, wks5 As Worksheet, wks6 As Worksheet, wks7 As Worksheet
    Dim uRiga1 As Long, uRiga2 As Long, uRiga3 As Long, uRiga4 As Long, uRiga5 As Long, uRiga6 As Long, y As Integer
    
    
    Set wks = Sheets("Anagrafica")
    Set wks1 = Sheets("0_Nuovo assunto")
    Set wks2 = Sheets("3_SqEmergenza")
    Set wks3 = Sheets("1_Formazione Sicurezza")
    Set wks4 = Sheets("2_Aggiornamenti")
    Set wks5 = Sheets("4_Addestramento Specifico")
    Set wks6 = Sheets("1_Formaz Somm")
    Set wks7 = Sheets("Anagrafica (2)")
    
    
    If TextBox1 = "" Or TextBox2 = "" Then
    Call MsgBox("Operazione effettuata", vbInformation, "Avviso")
    Exit Sub
    End If
    
    
    sor = MsgBox("Correggo i dati?", vbYesNo)
    If sor = vbNo Then Exit Sub
    
    
     k = ListBox1.ListIndex + 3
      If ComboBox6 <> "SOMMINISTRATO" Then 'SE E' DIVERSO DA SOMMINISTRATO
    With wks 'Foglio: Anagrafica
               
                  .Cells(k, 2) = TextBox15 'data inizio
                  .Cells(k, 3) = TextBox1 & " " & TextBox2 ' cognome + nome
                  .Cells(k, 4) = TextBox1 'cognome
                  .Cells(k, 5) = TextBox2 'nome
                  .Cells(k, 6) = OptionButton1 'nuovo assunto
                  .Cells(k, 7) = TextBox12 'data nascita
                  .Cells(k, 8) = TextBox13 'luogo nascita
                  .Cells(k, 9) = TextBox14 'codice fiscale
                  .Cells(k, 10) = ComboBox7 'qualifica
                  .Cells(k, 11) = ComboBox1 'stabilimento
                  .Cells(k, 12) = ComboBox3 'ruolo aziendale
                  .Cells(k, 13) = ComboBox4 'ruolo sicurezza
                  .Cells(k, 14) = ComboBox5 'titolo di studio
                  .Cells(k, 15) = ComboBox6 'in forza
    End With                     
    
    
    Else ' DIVERSAMENTE (SE E' SOMMINISTRATO)
        
    With wks7 'Foglio: Anagrafica (2)
                  
                   .Cells(k, 2) = TextBox15   'data inizio
                  .Cells(k, 3) = TextBox1 & " " & TextBox2   ' cognome + nome
                  .Cells(k, 4) = TextBox1   'cognome
                  .Cells(k, 5) = TextBox2   'nome
                  .Cells(k, 6) = OptionButton1   'nuovo assunto
                  .Cells(k, 7) = TextBox12   'data nascita
                  .Cells(k, 8) = TextBox13   'luogo nascita
                  .Cells(k, 9) = TextBox14   'codice fiscale
                  .Cells(k, 10) = ComboBox7   'qualifica
                  .Cells(k, 11) = ComboBox1   'stabilimento
                  .Cells(k, 12) = ComboBox3   'ruolo aziendale
                  .Cells(k, 13) = ComboBox4   'ruolo sicurezza
                  .Cells(k, 14) = ComboBox5   'titolo di studio
                  .Cells(k, 15) = ComboBox6   'in forza
        End With
                      
        End If
                          
    Call MsgBox("Operazione effettuata", vbInformation, "Avviso")
    End Sub
    Il problema però è, nell'esempio che hai fatto (. se modifico lo stato di un operatore da SOMMINISTRATO a SI i dati che in precedenza ha caricato in Anagrafica (2) vanno inseriti anche in ANAGRAFICA idem per i dati 1_Form Somm che vanno spostati in 1_Formazione Sicurezza.)... come fai da quel Form modificare un SOMMINISTRATO che viene inserito in anagrafica2 quando la ListBox si popola con i nomi in anagrafica?
    In pratica non lo vedi e non puoi modificarlo.

    Dobbiamo pensare a qualcosa di alternativo .... oggi sono fuori tutto il giorno vediamo intanto se a qualcun altro viene qualche idea.




    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  3. #3
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges,
    una soluzione per il problema SOMMINISTRATO potrebbe essere spostare l'intera riga da anagrafica (2) ad ANAGRAFICA e poi utilizzare il tasto EDITA cosi come già da te strutturato per verifica/integrare le informazioni.
    Cosa nè pensi?

    Gene

  4. #4
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges,
    purtroppo le ferie sono finite e questo modificherà i miei tempi "excel".
    Ma, grazie anche ad una imbeccata "rossonera", spero di sottoporti qualcosa entro un paio di giorni.

    Gene

  5. #5
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao Ges,
    purtroppo le ferie sono finite e questo modificherà i miei tempi "excel".
    Ma, grazie anche ad una imbeccata "rossonera", spero di sottoporti qualcosa entro un paio di giorni.

    Gene
    ah sì? bene bene la prossima volta l'imbeccata sarà quella che ti farà esplodere il pc

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  6. #6
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Baloon,
    ovviamente il pollice verso era riferito alla perversione calcistica .

    Gene

  7. #7
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao Baloon,
    ovviamente il pollice verso era riferito alla perversione calcistica .

    Gene
    L'avevo capita anche dalla risposta che mi hai dato in pm

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  8. #8
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    [RISOLTO]
    Ciao a tutti,
    ho seguito la traccia:
    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    una soluzione per il problema SOMMINISTRATO potrebbe essere spostare l'intera riga da anagrafica (2) ad ANAGRAFICA
    in questo modo:

    1)creata seconda pagina nel form e aggiunto listbox e tasto dedicati:


    2) Agganciata macro specifica al tasto di cui sopra (total contribute by Baloon_50):
    Codice: 
    Private Sub Label44_Click()
    Dim uRiga As Long
    Dim uRiga1 As Long
    Dim wks As Worksheet
    Dim wks1 As Worksheet
    Dim i As Integer
    
    Set wks = ThisWorkbook.Worksheets("Anagrafica")
    Set wks1 = ThisWorkbook.Worksheets("Anagrafica (2)")
    uRiga = wks.Range("A" & Rows.Count).End(xlUp).Row + 1
    uRiga1 = wks1.Range("A" & Rows.Count).End(xlUp).Row + 1
    
    For i = 3 To uRiga1
        If wks1.Range("D" & i) = TextBox1 And wks1.Range("E" & i) = TextBox2 Then
            wks1.Range("A" & i).EntireRow.Copy
            wks.Range("A" & uRiga).Insert
            wks1.Range("A" & i).EntireRow.Delete
            Exit For
        End If
    Next
    Set wks = Nothing
    Set wks1 = Nothing
    End Sub

    ......
    e poi utilizzare il tasto EDITA cosi come già da te strutturato per verifica/integrare le informazioni.
    Questo non era possibile per come è scritta la macro.
    Ho optato per l'utilizzo della macro SALVA ma ovviamente raddoppia il nome nel foglio 'anagrafica'.
    Provo a correggere altrimenti chiedo aiuto con un nuovo thread

    Gene

  9. #9
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    ..............
    Questo non era possibile per come è scritta la macro.
    Ho optato per l'utilizzo della macro SALVA ma ovviamente raddoppia il nome nel foglio 'anagrafica' e in tutti gli altri fogli di lavoro (ove previsto).
    Provo a correggere altrimenti chiedo aiuto con un nuovo thread
    Mi dispiace ma non ci sono riuscito.
    Mi aiutate a capire cosa inserire nel listato perchè il tasto SALVA esegua la routine e nel caso, in qualsiasi foglio, trovi che il nominativo sia già presente lo sovrascriva.

    Grazie in anticipo.
    Gene

  10. #10
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Mi dispiace ma non ci sono riuscito.
    Mi aiutate a capire cosa inserire nel listato perchè il tasto SALVA esegua la routine e nel caso, in qualsiasi foglio, trovi che il nominativo sia già presente lo sovrascriva.

    Grazie in anticipo.
    Gene
    Ciao Gene mi puoi allegare il file perchè non lo trovo più così provo a dargli un'occhiata ed eventualmente ti chiedo ulteriori spiegazioni.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  11. #11
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao,
    il file è questo: https://www.dropbox.com/s/lev3zdt3ac...B%2B.xlsm?dl=0

    La necessità è che cliccando il nominativo nella userform, il tasto SALVA esegua quanto scritto ma nel caso in uno dei fogli sia già presente il nominativo stesso provveda a sovrascriverlo con in nuovi dati presenti.

    Un esempio per meglio comprendere:
    1) il tasto "aggiorna anagrafica" sviluppato con te nella seconda pagina della userform anagrafica (2) sposta il nominativo in Anagrafica.
    2) Integro o modifico le info che questo spostamento comporta (da SOMMINISTRATO a SI, ruolo sicurezza, etc)
    3) Con il pulsante SALVA lancio la macro che và a scrivere le informazioni nei vari fogli del file seguendo le regole già definite.

    Attualmente in alcuni fogli dove già presente il nominativo la macro giustamente riscrive il nome che conseguentemente "raddoppia". Ed è questo quello che vorrei evitare.

    Gene

  12. #12
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao,
    il file è questo: https://www.dropbox.com/s/lev3zdt3ac...B%2B.xlsm?dl=0

    La necessità è che cliccando il nominativo nella userform, il tasto SALVA esegua quanto scritto ma nel caso in uno dei fogli sia già presente il nominativo stesso provveda a sovrascriverlo con in nuovi dati presenti.

    Un esempio per meglio comprendere:
    1) il tasto "aggiorna anagrafica" sviluppato con te nella seconda pagina della userform anagrafica (2) sposta il nominativo in Anagrafica.
    2) Integro o modifico le info che questo spostamento comporta (da SOMMINISTRATO a SI, ruolo sicurezza, etc)
    3) Con il pulsante SALVA lancio la macro che và a scrivere le informazioni nei vari fogli del file seguendo le regole già definite.

    Attualmente in alcuni fogli dove già presente il nominativo la macro giustamente riscrive il nome che conseguentemente "raddoppia". Ed è questo quello che vorrei evitare.

    Gene
    Ciao Gene facciamo il punto.
    Il tasto salva servirebbe per salvare un'anagrafica nuova non possono esserci quindi duplicati e fin quì ci siamo
    Il problema si pone (problema!!!?) se è una modifica ma a questo ppunto io la risolverei semplicemente inserendo un altro bottone "Modifica" (spero che tu richiami l'anagrafica dalla list box) effettuo le mie modifiche e vado a sovrapporle nei vari fogli all'anagrafica esistente. Ti va bene?
    fammi sapere.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  13. #13
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    La listbox2 viene popolate solo con le prime due anagrafiche come mai?????

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  14. #14
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Sono dal cellulare.
    Ciao.
    Ok per tasto modifica. La listbox 2 è alimentata dalla combobox solamente se seleziono Somministrato o No per ragioni di suddivisione contrattuale.
    Grazie
    Gene

  15. #15
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Sono dal cellulare.
    Ciao.
    Ok per tasto modifica. La listbox 2 è alimentata dalla combobox solamente se seleziono Somministrato o No per ragioni di suddivisione contrattuale.
    Grazie
    Gene
    Ciao Gene ho inserito il tasto modifica che in pratica funziona così :

    da userform, richiamo l'anagrafica dalla listbox - modifico in questo caso la data di inizio attività
    eseguo la routine (pulsante modifica) il risultato è
    "Anagrafica" modificato data inizio attività
    "0-Nuovo assunto" modificato data inizio attività in quanto è l'unico campo in comune.
    Per tutti gli altri fogli, lascio a te l'incombenza di seguire la falsariga di questa routine e completare.

    Ciao.
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  16. #16
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Baloon,
    prima di implementarla ho fatto delle prove e necessito di approfondimento.
    Operazione fatta:
    1) Spostato Cary Grant da Anagrafica 2 a Anagrafica con tasto aggiorna anagrafica presente nella 2a pagina della userform e richiamato Gary Crant nella userform Anagrafica modificati i dati di Nuovo assunto e In forza-> OK



    2) Premuto taso Modifica -> il foglio nuovo assunto non si è popolato con il nome di Cary Grant



    3) Richiamata la userform e le modifiche sono andate perse:



    Ritorno sull proposta, da dummies del VBA: Ma se prendiamo di sana pianta la macro SALVA, la chiamiamo MODIFICA e gli imponiamo che prima di avviare ogni singola operazione deve verificare la presenza o meno di quel nominativo e nel caso sovrascriverlo?

    Attendo tue
    Gene

  17. #17
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Ciao Gene ma io ho fatto solo MODIFICA dei dati di un'anagrafica esistente nei vari fogli (nel mio caso solo 0_Nuovo Assunto) non ho implementato altro. Nuovo non l'ho toccato pensavo l'avessi fatto tu quello di andare ad inserire negli altri fogli. quello che avevo fatto io era quello che avevi richiesto e cioè inserire da anagrafica 2 ad anagrafica.

    ciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  18. #18
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Baloon,
    c'è stato un frainteso. Nessun problema.
    Aggiorna anagrafica come da te strutturata funzionava già perfettamente. Aiutami spiegandomi come fare un controllo della presenza di un testo e la sua sovrapposizione così da fare dei test.
    La macro è sempre quella di Ges ossia salva.
    Grazie in anticipo.
    Gene

  19. #19
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao Baloon,
    c'è stato un frainteso. Nessun problema.
    Aggiorna anagrafica come da te strutturata funzionava già perfettamente. Aiutami spiegandomi come fare un controllo della presenza di un testo e la sua sovrapposizione così da fare dei test.
    La macro è sempre quella di Ges ossia salva.
    Grazie in anticipo.
    Gene
    partendo sempre dal fatto che il mio esempio è riferito SOLO ad anagrafica, per verificare se esiste già devi aggiungere questo codice in SALVA prima di ''INSERIMENTO DATI

    Il codice sottoriportato verfica se esiste già in anagrafica, se sì va alla routine che ho creato ieri e cioè MODIFICA che modifica l'anagrafica e il foglio "0_Nuovo assunto" il resto lo fai tu come ti ho già scritto.

    spero sia stato d'aiuto.

    ciao.

    Codice: 
    Dim i As Integer
    
    
    For i = 2 To uriga
        If wks.Range("D" & i) = TextBox1 And wks.Range("E" & i) = TextBox2 Then
            Call CmdModifica_Click
            Exit Sub
        End If
    Next

    P.S.
    Il codice di cui sopra non l'ho provato ma dovrebbe funzionare.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  20. #20
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Baloon,
    e se invece di aprire MODIFICA volessi che sovrascrivesse il dato ?
    In vecchio post del forum, Ges usava questo codice:
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim wks1 As Worksheet, wks2 As Worksheet
        Set wks1 = Worksheets("Foglio1")
        Set wks2 = Worksheets("Foglio2")
        If Not Intersect(Target, Range("D2")) Is Nothing Then
            If wks2.Range("D2") = 0 Then
                wks2.Range("A2:C2").Copy
                wks1.Range("A2").PasteSpecial Paste:=xlValues
            End If
        End If
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
    End Sub
    Come integrarla nella macro in sviluppo?

    Gene

  21. #21
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Correzione dati mirata

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao Baloon,
    e se invece di aprire MODIFICA volessi che sovrascrivesse il dato ?
    In vecchio post del forum, Ges usava questo codice:
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim wks1 As Worksheet, wks2 As Worksheet
        Set wks1 = Worksheets("Foglio1")
        Set wks2 = Worksheets("Foglio2")
        If Not Intersect(Target, Range("D2")) Is Nothing Then
            If wks2.Range("D2") = 0 Then
                wks2.Range("A2:C2").Copy
                wks1.Range("A2").PasteSpecial Paste:=xlValues
            End If
        End If
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
    End Sub
    Come integrarla nella macro in sviluppo?

    Gene
    sovrascrivere il dato cambia di foglio in foglio non sono tutti uguali per questo ho fatto modifica

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  22. #22

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7153
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300

    Re: Correzione dati mirata

    Ciao a tutti,
    se ho capito bene la richiesta di Gene vorrebbe solo che se il nominativo è presente in "Anagrafica" o in "Anafrafica2" cliccando sul tasto "Salva" non aggiunga un nuovo nominativo ma sovrascriva quello esistente con le eventuali modifiche apportate.

    Dunque ho aggiunto il seguente pezzo di codice in rosso:

    Codice: 
    .......
    
    For Each cl In wks.Range("D3:D" & uriga)
    For Each cl1 In wks7.Range("D3:D" & uriga7)
    
       If ComboBox6 <> "SOMMINISTRATO" And cl <> TextBox1 And cl.Offset(0, 1) <> TextBox2 Then     'SE TexBox1 è vuoto (quindi nuovo inserimento) E' DIVERSO DA SOMMINISTRATO
    With wks 'Foglio: Anagrafica
                  .Cells(3, 1) = 1
                  .Cells(uriga, 1) = uriga - 2
                  .Cells(uriga, 2) = TextBox15 'data inizio
                  .Cells(uriga, 3) = TextBox1 & " " & TextBox2 ' cognome + nome
                  .Cells(uriga, 4) = TextBox1 'cognome
                  .Cells(uriga, 5) = TextBox2 'nome
                  .Cells(uriga, 6) = OptionButton1 'nuovo assunto
                  .Cells(uriga, 7) = TextBox12 'data nascita
                  .Cells(uriga, 8) = TextBox13 'luogo nascita
                  .Cells(uriga, 9) = TextBox14 'codice fiscale
                  .Cells(uriga, 10) = ComboBox7 'qualifica
                  .Cells(uriga, 11) = ComboBox1 'stabilimento
                  .Cells(uriga, 12) = ComboBox3 'ruolo aziendale
                  .Cells(uriga, 13) = ComboBox4 'ruolo sicurezza
                  .Cells(uriga, 14) = ComboBox5 'titolo di studio
                  .Cells(uriga, 15) = ComboBox6 'in forza
    End With
    
    
    With wks1 'Foglio: 0_Nuovo assunto
    uriga1 = .Cells(Rows.Count, 1).End(xlUp).Row + 1
           .Range("A" & uriga1).Value = TextBox1 & " " & TextBox2
           .Range("M" & uriga1).Value = Format(TextBox15, "mm/dd/yyyy")
           .Range("N" & uriga1).Value = CDate(TextBox15) + 60  ' ossia TexBox15+60gg
           .Range("O" & uriga1) = Application.WorksheetFunction.Days360(Format(TextBox15, "mm/dd/yyyy"), Date)
                              
    End With
    
    
        ElseIf ComboBox6 = "SOMMINISTRATO" And cl1 <> TextBox1 And cl1.Offset(0, 1) <> TextBox2 Then ' DIVERSAMENTE (SE E' SOMMINISTRATO)
        
    With wks7 'Foglio: Anagrafica (2)
                   .Cells(3, 1) = 1
                  .Cells(uriga7, 1) = uriga7 - 2
                   .Cells(uriga7, 2) = TextBox15   'data inizio
                  .Cells(uriga7, 3) = TextBox1 & " " & TextBox2   ' cognome + nome
                  .Cells(uriga7, 4) = TextBox1   'cognome
                  .Cells(uriga7, 5) = TextBox2   'nome
                  .Cells(uriga7, 6) = OptionButton1   'nuovo assunto
                  .Cells(uriga7, 7) = TextBox12   'data nascita
                  .Cells(uriga7, 8) = TextBox13   'luogo nascita
                  .Cells(uriga7, 9) = TextBox14   'codice fiscale
                  .Cells(uriga7, 10) = ComboBox7   'qualifica
                  .Cells(uriga7, 11) = ComboBox1   'stabilimento
                  .Cells(uriga7, 12) = ComboBox3   'ruolo aziendale
                  .Cells(uriga7, 13) = ComboBox4   'ruolo sicurezza
                  .Cells(uriga7, 14) = ComboBox5   'titolo di studio
                  .Cells(uriga7, 15) = ComboBox6   'in forza
        End With
        
        With wks6 'Foglio: 1_Formaz Somm
                        .Range("A" & uRiga6).Value = TextBox1 & " " & TextBox2
                        .Range("B" & uRiga6).Value = Format(TextBox15, "mm/dd/yyyy")
                        .Range("C" & uRiga6).Value = CDate(TextBox15) + 60  ' ossia TexBox15+60gg
                        .Range("U" & uRiga6) = Application.WorksheetFunction.Days360(Format(TextBox15, "mm/dd/yyyy"), Date)
    End With
        Else
         Label37_Click
            Exit Sub
            Exit Sub
         End If
        Next
        Next
    
    .....
    Poi ho sistemato il codice che edita in modo da modificare i dati sia in anagrafica che in anagrafica2 ... però non ricordo bene se questa cosa Gene l'hai risolta in altro modo .. vedo infatti nella UserForm "anagrafica2" e un pulsante aggiorna.

    Allego il file.
    File Allegati File Allegati
    Ultima modifica fatta da:ges; 29/08/16 alle 01:54 Motivo: Inserito file sbagliato
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  23. #23
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges,
    deve essere successo qualcosa nell'ultima stesura della macro (vedi report):

    Dati digitati nella form del file del post #22:
    Nuovo assunto SI
    In forza SI
    Cognome Eta
    Nome Beta
    Data inizio 01/01/2014
    Ruolo aziendale Lavoratore
    Ruolo sicurezza RLS
    Nome Foglio di lavoro Dato atteso x nuovo inserimento Macro in
    GestForm_V8Forum-5++
    0_Nuovo assunto Inserire Inserito (varie volte)
    1_Formazione Sicurezza Inserire NON inserito
    1_Formaz Somm NON inserire OK
    2_Aggiornamenti Inserire NON inserito
    3_SqEmergenza Inserire NON inserito
    4_Addestramento Specifico Inserire NON inserito
    Anagrafica Inserire OK
    Anagrafica (2) NON inserire OK

    Nuovo assunto Campo vuoto
    In forza SOMMINISTRATO
    Cognome Super
    Nome Pippo
    Data inizio 31/12/2014
    Ruolo aziendale Lavoratore
    Ruolo sicurezza Lavoratore
    Nome Foglio di lavoro Dato atteso x somministrato Macro in
    GestForm_V8Forum-5++
    0_Nuovo assunto NON inserire OK
    1_Formazione Sicurezza NON inserire OK
    1_Formaz Somm Inserire NON inserito
    2_Aggiornamenti Inserire NON inserito
    3_SqEmergenza NON inserire OK
    4_Addestramento Specifico Inserire NON inserito
    Anagrafica NON inserire OK
    Anagrafica (2) Inserire NON inserito


    Gene

  24. #24
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges,
    a scanso di equivoci, ti allego l'ultima versione del file pre-modifica per la sovrascrittura di ieri sera.

    https://www.dropbox.com/s/h2tb462pu7...orum.xlsm?dl=0

    Gene

    PS. Giuro che un secondo dopo la soluzione..proverò a ripulire il listato che ormai è un mostro a 7 teste

  25. #25

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7153
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300

    Re: Correzione dati mirata

    Ciao Gene,
    ho inserito un pezzo di codice per il controllo su "Anagrafica" .... se c'è il nome presente lo sovrascrive effettuando le modifiche, se invece è un nome nuovo lo isnerisce.
    Comincia a controllare se tutto funziona come vorresti

    Questo il codice che ho aggiunto
    Codice: 
    uRiga = wks.Range("A" & Rows.Count).End(xlUp).Row + 1
      uRiga7 = wks7.Range("A" & Rows.Count).End(xlUp).Row + 1
    
    
      For y = 3 To uRiga
        For i = 3 To uRiga7
            If ((TextBox1 = wks.Cells(y, 4) And TextBox2 = wks.Cells(y, 5)) Or (TextBox1 = wks7.Cells(i, 4) And TextBox2 = wks7.Cells(i, 5))) Then
                Label37_Click
            Exit Sub
            Exit Sub
            End If
        Next
      Next
    Vedo che il tasto Edit modifica solo su "anagrafica" che soluzione avevi trovato per le modifica su "anagrafica 2"?
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  26. #26
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges,

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    ho inserito un pezzo di codice per il controllo su "Anagrafica" .... se c'è il nome presente lo sovrascrive effettuando le modifiche, se invece è un nome nuovo lo inserisce.
    Comincia a controllare se tutto funziona come vorresti
    Domani faccio i tests


    Citazione Originariamente Scritto da ges Visualizza Messaggio
    ...
    Vedo che il tasto Edit modifica solo su "anagrafica" che soluzione avevi trovato per le modifica su "anagrafica 2"?
    E' un'operazione rara quindi fattibile anche a mano.


    A presto per il feedback.

    Grazie ancora.
    Gene

  27. #27
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges,
    confermo che le variazioni nella userform vengo riportate correttamente nel solo foglio anagrafica (come da te scritto).

    Ho fatto un'ulteriore prova per capire la logica che c'è dietro il codice VBA ma non ho cavato un ragno dal buco.

    Sono partito dal fatto che la macro in gioco è sempre la stessa e quindi di "fregarla".
    Il giro era il seguente:
    1) "Assumo" un lavoratore SOMMINISTRATO (Andy Capp) conseguentemente con il tasto "sposta dipendente" lo colloco da anagrafica (2) in anagrafica.
    2) Richiamo il lavoratore dalla listbox1 e si popolano i campi della userform.
    3) modifico i campi "NUOVO ASSUNTO" (SI) e "In forza" (SI) e qualche altro campo come controprova (esempio Ruolo sicurezza ->RLS e data inizio attività)
    4) a questo punto clicco su SALVA e nel mio pensare semplice, il gioco è fatto perchè ho teoricamente simulato l'inserimento di un nuovo addetto (che usato singolarmente funziona alla perfezione)!!

    Risultato: excel non si è fatto fregare e mi ha corretto solo i dati nel foglio di lavoro ANAGRAFICA.

    Gene

  28. #28

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7153
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300

    Re: Correzione dati mirata

    Ciao Gene,
    se ho ben capito la macro ha funzionato per come è stata concepita!
    Se c'è un nome in "Anagrafica" non permette di inserire nuovamente lo stesso nome ma solo di modificarlo.
    Nel momento in cui l'hai trasferito da anagrafica 2 ad anagrafica per excel il nome è in anagrafica e può essere solo modificato.... per ovviare al problema bisogna fare si che con lo spostamento in anagrafica lo salvi contestualmente come nuovo inserimento.
    Ma il tasto "sposta dipendente" dov'è?
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  29. #29
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Correzione dati mirata

    Ciao Ges.

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    se ho ben capito la macro ha funzionato per come è stata concepita!
    Se c'è un nome in "Anagrafica" non permette di inserire nuovamente lo stesso nome ma solo di modificarlo.
    .....
    Confermo.

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    .....
    Nel momento in cui l'hai trasferito da anagrafica 2 ad anagrafica per excel il nome è in anagrafica e può essere solo modificato.... per ovviare al problema bisogna fare si che con lo spostamento in anagrafica lo salvi contestualmente come nuovo inserimento.
    Tieni presente che per diventare un "nuovo assunto" devo effettuare i passaggi 2 e 3 del post #27

    Citazione Originariamente Scritto da ges Visualizza Messaggio
    .....
    Ma il tasto "sposta dipendente" dov'è?
    E' nella pagina 2 della userform del foglio ANAGRAFICA

    A presto
    Gene

  30. #30

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7153
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2064
    Likes dati
    1300

    Re: Correzione dati mirata

    Visto il tasto "nuovo assunto".

    Allora, riassumendo ... arrivati a questo punto mi pare che ti serva che quando sposti un nominativo da anagrafica 2 ad anagrafica te lo registri come nuovo assunto. Giusto?

    P.S. - Appena ho un po' di tempo in più ti metto in ordine tutto il codice.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

Discussioni Simili

  1. [Risolto] Correzione macro salva file
    Di Vincenzo Damiani nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 24/02/17, 08:24
  2. [Risolto] Correzione cod.VBA
    Di max72 nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 08/02/17, 00:00
  3. [Risolto] Correzione Macro registra pagamento
    Di Vincenzo Damiani nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 11/01/17, 09:58
  4. Aiuto correzione macro
    Di lala10 nel forum Domande su Excel VBA e MACRO
    Risposte: 26
    Ultimo Messaggio: 12/06/16, 00:46
  5. correzione testo automaticamente e ridimensionamento
    Di dorico75 nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 30/03/16, 10:27

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •