Risultati da 1 a 16 di 16

Discussione: Confronto e verifica presenza nominativi



  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

    Confronto e verifica presenza nominativi

    Ciao a tutti,
    vorrei confrontare i nomi presenti nella colonna I del foglio "prova" con i nominativi presenti in legenda B26:B52 e nel caso non vi sia la corrispondenza, i nomi mancanti nella legenda saranno riportati in Analisi (da D20 a D25) attivando la formattazione condizionale che ho impostato ( ma che non funziona!!:187:).

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


    PS: Come al solito evidenzio che il foglio di lavoro Prova è in realtà un file esterno.

    Grazie in anticipo
    Gene

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Confronto e verifica presenza nominativi

    Se ho capito bene, potresti usare questa formattazione condizionale:

    =VAL.ERRORE(CONFRONTA(Prova!I2;Legenda!$B$26:$B$36;0))

  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: Confronto e verifica presenza nominativi

    Ciao Rubik72,
    sbaglio qualcosa: evidenzia correttamente C19 in verde quando i campi sono vuoti ma non in rosso D19 quando le celle sottostanti sono compilate.
    Hai comunque un'idea anche per la compilazione dei campi D20:D25 con i nomi mancanti?

    Gene

  4. #4
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2076
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Confronto e verifica presenza nominativi

    Ciao

    vedi il file se ti va bene
    ho aggiunto una macro
    se nel foglio Prova non esiste un nome
    nel foglio analisi viene riportato da D20 in poi

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

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Dipendenti As Variant, Rimasti() As Variant
    Dim j As Long, n As Long
    Dim rTabella As Range
    Nominativo = Foglio3.Range("B26:B5000")
    Set rTabella = Foglio2.Range("I2:I5000")
    For j = 1 To UBound(Nominativo)
        If Application.WorksheetFunction.CountIf(rTabella, Nominativo(j, 1)) = 0 Then
            n = n + 1
            ReDim Preserve Rimasti(1 To 1, 1 To n)
            Rimasti(1, n) = Nominativo(j, 1)
        End If
    Next j
    With Foglio4
        .Range("D20:D" & Rows.Count).ClearContents
        .Range("D20:D" & n) = Application.Transpose(Rimasti)
    End With
    Set rTabella = Nothing
     
    End Sub
    la tua formattazione va bene

    per una prova cancella PAPERINA dalla celle I4

    l'ho sostituito con xxxx per verificare la macro

    e vedi che in D20 del foglio analisi ti viene riportato

    Se i nomi vengono da formule o macro
    non so se la funzione funziona con Change
    ma non penso , al limite legala all'attivazione del foglio analisi o ad un pulsante

  5. I seguenti utenti hanno dato un "Like"


  6. #5
    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: Confronto e verifica presenza nominativi

    Ciao Gianfranco,
    se ho ben capito, in Analisi io digito un nome e lui nè verifica la presenza in Prova.
    In realtà per tenere sincronizzato il tutto, ho bisogno che la macro lavori "al contrario" rispetto al tuo esempio, ossia faccia un check all'apertura del file e mi evidenzi, in autonomia, i nomi presenti in prova ma assenti in legenda.

    Gene

  7. #6
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2076
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Confronto e verifica presenza nominativi

    NO proprio

    se cambi un nome nel foglio prova
    verifica la lista del foglio legenda con la lista del foglio prova
    e se non trova corrispondenze ti riporta il nome nel foglio analisi.
    quello che tu hai chiesto.

    in pratica e terra terra
    ti scrive in foglio analisi quali nomi del foglio legenda non ci sono nel foglio prova.

    la macro puoi inserirla all'apertura del file
    o in un pulsante



    o all'attivazione del foglio analisi( ti consiglio questa )
    nel change si attiverebbe troppe volte ed è uno spreco di risorse.


    ciao
    ah!
    se vuoi il contrario
    cioè scrivimi in analisi i nomi presenti in prova e assenti in legenda
    inverti i range
    Codice: 
    Nominativo = Foglio3.Range("B26:B5000")
    Set rTabella = Foglio2.Range("I2:I5000")
    così
    Codice: 
    Nominativo = Foglio2.Range("I2:I5000")
    Set rTabella = Foglio3.Range("B26:B5000")
    avevo capito il contrario

  8. #7
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2076
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Confronto e verifica presenza nominativi

    Mi sa che la macro anche se funziona bene presenta un difetto:187:

    ti segna tutti i nomi ripetendoli e non come nome univoco MMMMMMMMMMM!
    vediamo se riesco a modificarla per avere valori univoci

  9. #8
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2076
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Confronto e verifica presenza nominativi

    fatto
    ora fa quello che ti interessa
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    Dim Dipendenti As Variant, Rimasti() As Variant
    Dim j As Long, n As Long
    Dim rTabella As Range
    Nominativo = Foglio2.Range("I2:I5000")
    Set rTabella = Foglio3.Range("B26:B5000")
    For j = 1 To UBound(Nominativo)
        If Application.WorksheetFunction.CountIf(rTabella, Nominativo(j, 1)) = 0 Then
            n = n + 1
            ReDim Preserve Rimasti(1 To 1, 1 To n)
            Rimasti(1, n) = Nominativo(j, 1)
        End If
    Next j
    With Foglio4
        .Range("D20:D" & Rows.Count).ClearContents
        .Range("D20:D" & n) = Application.Transpose(Rimasti)
    .Range("$D$19:$D$5000").RemoveDuplicates Columns:=1, Header:= _
            xlYes
    End With
    Set rTabella = Nothing
    End Sub

  10. #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: Confronto e verifica presenza nominativi

    Ciao Gianfranco,
    scusami ma sbaglio qualcosa nel riportare la tua macro nel file e non riesco a farla funzionare.
    Mi correggi l'errore: https://www.dropbox.com/s/hugfisfqt6...Gian.xlsm?dl=0

    Grazie
    Gene

  11. #10
    L'avatar di Gianfranco55
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Vicenza
    Età
    62
    Messaggi
    2076
    Versione Office
    2016
    Likes ricevuti
    553
    Likes dati
    117

    Re: Confronto e verifica presenza nominativi

    ti ho messo un pulsante nel foglio analisi e aggiustata la formattazione
    https://www.dropbox.com/s/3x7ys6b8h6...Gian.xlsm?dl=0

  12. I seguenti utenti hanno dato un "Like"


  13. #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: Confronto e verifica presenza nominativi

    Grazie tanto.

    PS: Vista la piega VBA presa forse andrebbe spostato il thread.

    Alla prossima
    Gene

  14. #12
    L'avatar di Canapone
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Firenze
    Messaggi
    1076
    Versione Office
    2010 su Win
    Likes ricevuti
    598
    Likes dati
    204

    Re: Confronto e verifica presenza nominativi

    Saluto subito Gianfranco e Rubik

    Uso le formule:

    in d20 da confermare con control+maiusc+invio.

    =SE.ERRORE(INDICE(prova!I$2:I$2000;CONFRONTA(0;SE.ERRORE(CONFRONTA(prova!I$2:I$2000;Legenda!$B$26:$B$36;0);CONTA.SE($D$19:$D19;prova!I$2:I$2000));0))&"";"")


    La formattazione condizionale potresti attivarla con un

    =CONTA.SE(D20:D25;">A")

    Il Vba è sicuramente più efficiente.

    Saluti

  15. #13

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Confronto e verifica presenza nominativi

    Citazione Originariamente Scritto da Gianfranco55 Visualizza Messaggio
    fatto
    ora fa quello che ti interessa
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    Dim Dipendenti As Variant, Rimasti() As Variant
    Dim j As Long, n As Long
    Dim rTabella As Range
    Nominativo = Foglio2.Range("I2:I5000")
    Set rTabella = Foglio3.Range("B26:B5000")
    For j = 1 To UBound(Nominativo)
        If Application.WorksheetFunction.CountIf(rTabella, Nominativo(j, 1)) = 0 Then
            n = n + 1
            ReDim Preserve Rimasti(1 To 1, 1 To n)
            Rimasti(1, n) = Nominativo(j, 1)
        End If
    Next j
    With Foglio4
        .Range("D20:D" & Rows.Count).ClearContents
        .Range("D20:D" & n) = Application.Transpose(Rimasti)
    .Range("$D$19:$D$5000").RemoveDuplicates Columns:=1, Header:= _
            xlYes
    End With
    Set rTabella = Nothing
    End Sub
    Ciao Gianfranco avrei dei miglioramenti:
    1) La variabile "Dipendenti" è superflua mentre non hai dichiarato "Nominativo"
    2) renderei dinamici i range con uRiga
    3) una volta disabilitato ScreenUpdating bisogna riabilitarlo
    4) eliminare le matrici a fine rourine

    Le mio sono manie di perfezionamento ma la tua è già ottima.

  16. #14

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Confronto e verifica presenza nominativi

    Citazione Originariamente Scritto da Canapone Visualizza Messaggio
    Saluto subito Gianfranco e Rubik

    Uso le formule:

    in d20 da confermare con control+maiusc+invio.

    =SE.ERRORE(INDICE(prova!I$2:I$2000;CONFRONTA(0;SE.ERRORE(CONFRONTA(prova!I$2:I$2000;Legenda!$B$26:$B$36;0);CONTA.SE($D$19:$D19;prova!I$2:I$2000));0))&"";"")


    La formattazione condizionale potresti attivarla con un

    =CONTA.SE(D20:D25;">A")

    Il Vba è sicuramente più efficiente.

    Saluti
    Attendevo con ansia un tuo intervento con una "matriciale"

  17. #15
    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: Confronto e verifica presenza nominativi

    Ciao Rubik,
    vuoi che tolga risolto per permetterti di fare i miglioramenti?
    Immagino che possano interessare a molti.

    Gene

  18. #16

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Confronto e verifica presenza nominativi

    I miglioramenti potrebbero essere questi:
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Nominativo As Variant, Rimasti() As Variant
    Dim j As Long, n As Long
    Dim rTabella As Range
    Dim uRiga1 As Long, uRiga2 As Long, uRiga3 As Long
    
    
    Application.ScreenUpdating = False
    
    
    uRiga1 = Foglio2.Range("I" & Rows.Count).End(xlUp).Row
    Nominativo = Foglio2.Range("I2:I" & uRiga1)
    
    
    uRiga2 = Foglio3.Range("B" & Rows.Count).End(xlUp).Row
    Set rTabella = Foglio3.Range("B26:B" & uRiga2)
    
    
    For j = 1 To UBound(Nominativo)
        If Application.WorksheetFunction.CountIf(rTabella, Nominativo(j, 1)) = 0 Then
            n = n + 1
            ReDim Preserve Rimasti(1 To 1, 1 To n)
            Rimasti(1, n) = Nominativo(j, 1)
        End If
    Next j
    With Foglio4
        uRiga3 = .Range("D" & Rows.Count).End(xlUp).Row
        If uRiga3 < 20 Then uRiga3 = 20
        .Range("D20:D" & uRiga3).ClearContents
        .Range("D20:D" & n + 19) = Application.Transpose(Rimasti)
        .Range("$D$19:$D$" & n + 19).RemoveDuplicates _
            Columns:=1, _
            Header:=xlYes
    End With
    
    
    Application.ScreenUpdating = True
    
    
    Set rTabella = Nothing
    Erase Nominativo
    Erase Rimasti
    
    
    End Sub
    Rimane il fatto che @Gianfranco55 ha "inciso" la pietra io ho solo "smussato" gli angoli, poi @Canapone ha "decorato" con oro il lavoro.

    X @Gianfranco55: ti volevo scrivere ma hai troppi messaggi e non mi permette di inviare mail. Svuota la posta.

  19. I seguenti utenti hanno dato un "Like"


Discussioni Simili

  1. Formula di ricerca nominativi
    Di antonysameli nel forum Domande su Excel in generale
    Risposte: 1
    Ultimo Messaggio: 13/03/17, 12:35
  2. [Risolto] Conta Clienti con Nominativi
    Di Emanuele nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 28/02/17, 12:20
  3. copiare nominativi con commento
    Di trittico69 nel forum Domande su Excel VBA e MACRO
    Risposte: 55
    Ultimo Messaggio: 01/12/15, 10:44
  4. Raggruppare nominativi in base a certe condizioni
    Di Baloon_50 nel forum Domande su Excel VBA e MACRO
    Risposte: 31
    Ultimo Messaggio: 10/09/15, 14:55
  5. Estrarre nominativi.
    Di Giuseppe Zammuto nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 10/08/15, 11:09

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
  •