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

Discussione: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina



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

    Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao a tutti,
    vorrei nel foglio "Report" elencare i nominativi e le date di nascita dei dipendenti che rispettano le opzioni dopo filtraggio.
    Nel file allegato i dipendenti che corrispondono ai criteri -> Unità produttiva (D4): Lombardia e Ruolo aziendale (D5) sono:

    Nel foglio Anagrafica: Wayne John e Capp Andy
    Nel foglio Anagrafica (2): Grant Cary (in questo foglio non vanno inclusi eventuali nominativi che nella colonna O abbiano NO come testo.)

    https://www.dropbox.com/s/q4sx083enc...0V.1.xlsm?dl=0

    Grazie in anticipo
    Gene

    PS
    1) in realtà i fogli Anagrafica e Anagrafica (2) sono in un file esterno creato in threads precedenti.
    2) L'eventuale formula dovrebbe tenere conto (sempre in "Report") dei campi riempibili (B15-B37) e continuare con eventuali altri nomi nel foglio "pag.2" (nei campi da B57 a B84) e se non sufficiente creare nuovi fino ad evasione -> ma questo credo che sia VBA e quindi...prossimo thread..
    Ultima modifica fatta da:ges; 24/09/16 alle 11:18

  2. #2
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    44
    Messaggi
    566
    Versione Office
    2010 64 bit
    Utile ricevuti
    79
    Utile dati
    41

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    ciao bove,
    a parte ti consiglio di disunire le celle perchè creano più impicci che altro...almeno nella col. B dove andrebbe inserita una matriciale che non va d'accordo con le celle unite...
    come inizio potresti provare con questa da inserire in B15
    =SE.ERRORE(INDICE(Anagrafica!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica!$C$2:$C$10;RIF.RIGA(Anagrafica!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica!$C$2:$C$10));;1));RIF.RIGA(Anagrafica!$C$2:$C$10));RIF.RIGA(A2)));"")
    con invio matriciale
    ma rimane da gestire anagrafica2...avevo pensato a questa
    =SE.ERRORE(INDICE(Anagrafica!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica!$C$2:$C$10;RIF.RIGA(Anagrafica!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica!$C$2:$C$10));;1));RIF.RIGA(Anagrafica!$C$2:$C$10));RIF.RIGA(A2)));SE.ERRORE(INDICE(Anagrafica2!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica2!$C$2:$C$10;RIF.RIGA(Anagrafica2!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica2!$C$2:$C$10));;1));RIF.RIGA(Anagrafica2!$C$2:$C$10));RIF.RIGA(A2)));""))
    sempre matriciale ma non va bene perchè non riesco a fargli capire quando deve inziare a cercare in anagrafica2...faccio altri tentativi.
    ciao
    ale

  3. I seguenti 2 utenti hanno dato un "Utile" a Alessandro per questo post:


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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Ale,
    Citazione Originariamente Scritto da Alessandro Visualizza Messaggio
    a parte ti consiglio di disunire le celle perchè creano più impicci che altro...almeno nella col. B dove andrebbe inserita una matriciale che non va d'accordo con le celle unite...
    ....
    alcune volte per ragioni meramente estetiche...provo a dimenticare questa semplice regola.....

    Attendo tue.
    Gene

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao,
    ragionavo sul file e su una possibile alternativa se la richiesta non è "evadibile".
    Potrei creare un campo con una casella di controllo o un pulsante di opzioni che quando flaggati copiano i dati che servono nella riga.
    Cosa ne pensate?
    Ma questo potrebbe cozzare con il fatto che i dati di anagrafica e angrafica (2) sono in un file esterno?

    Gene

  6. #5
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene
    vedi se può interessarti col VBA. Ecco il codice usato (da aggiungere Option Explicit e le varie Dim)
    Codice: 
    Sub selez() 'seleziona da Anagrafica e Anagrafica(2)
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    Range("B15:H37").ClearContents
    r = 15
    'cerca in Anagrafica col. K e L
    With Sheets("Anagrafica")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    'cerca in Anagrafica(2) col. K, L e O
    With Sheets("Anagrafica (2)")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) And .Cells(i, 15) <> "NO" Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    End Sub
    Fai sapere. Ciao,
    Mario

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Mario,
    pronto a !!
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    vedi se può interessarti col VBA. Ecco il codice usato (da aggiungere Option Explicit e le varie Dim)
    ...
    Mario
    Io farei cosi ( ma il fatto che tu scriva..le varie DIM .)
    Codice: 
    Option Explicit
    
    Sub selez() 'seleziona da Anagrafica e Anagrafica(2)
    
    Dim sheet As Worksheet
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    Range("B15:H37").ClearContents
    r = 15
    'cerca in Anagrafica col. K e L
    With Sheets("Anagrafica")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    'cerca in Anagrafica(2) col. K, L e O
    With Sheets("Anagrafica (2)")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) And .Cells(i, 15) <> "NO" Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    End Sub
    Gene

  8. #7
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene
    L'Option Explicit all'inizio va bene; un solo Dimensionamento no!
    Se lanci la macro (con l'Option Explicit) vedrai che si ferma quasi ad ogni passo perchè vuole le dichiarazioni (non d'amore) per UP, RA, uRG, r, i.

    Ma il codice trasferisce i nomi e la data di nascita? Sono quelli giusti?

    Fai sapere. Ciao,
    Mario

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Mario,
    da quando sei moderatore sei diventato più buono
    Ci riprovo:
    Codice: 
    Option Explicit
    
    Sub selez() 'seleziona da Anagrafica e Anagrafica(2)
    
    Dim UP As Long, RA As Long, uRG As Long, r As String, i As Integer
    
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    Range("B15:H37").ClearContents
    r = 15
    'cerca in Anagrafica col. K e L
    With Sheets("Anagrafica")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    'cerca in Anagrafica(2) col. K, L e O
    With Sheets("Anagrafica (2)")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) And .Cells(i, 15) <> "NO" Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    End Sub
    Confermo che i nomi e la data di nascita sono i dati da riportare.

    Gene

  10. #9
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene
    è il nuovo incarico che mi ... ha imposto un atteggiamento, appunto, "moderato" ma fino ad un certo punto.

    Dim UP As Long, RA As Long, uRG As Long, r As String, i As Integer
    Prima di risponderti vorrei sapere una cosa: la macro (come te l'ho inviata) l'ahi provata e risponde alla richiesta oppure no?

    SE lanci la macro con la tua aggiunta (se c'è Option Explicit) VBA digrigna i denti. Visto che vuoi imparare VBA devi sapere che quando dichiari una variabile devi indicare il TIPO di dati che andranno a confluire nella variabile stessa.
    Se UP legge la Regione non può essere Long, deve essere String ...
    Se RA legge il "lavoratore" ... e non ti dico altro.
    Attento alla variabile r (perchè String se si riferisce ad una riga?)

    Cioè su 5 variabili 4 e mezza sono errate (la mezza sta per la i che non è corretta ma può anche andare Integer.

    Studia, ragazzo, studia ...
    Fammi sapere se funziona. Ciao
    Mario

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Mario,

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Prima di risponderti vorrei sapere una cosa: la macro (come te l'ho inviata) l'ahi provata e risponde alla richiesta oppure no?
    Risposta ufficiale: Non ancora aspettavo di completarla prima di provarla.
    Pss Non dirlo al mio tutor Marius...ma non pensavo che "girasse" se prima non avessi completato i compiti.
    Comunque è da piazzare in This woorkbook, vero?

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio

    Cioè su 5 variabili 4 e mezza sono errate (la mezza sta per la i che non è corretta ma può anche andare Integer.
    Azz...pensavo peggio

    Ultimo tentativo..poi ho già prenotato il cavallo...
    Codice: 
    Option Explicit
    
    Sub selez() 'seleziona da Anagrafica e Anagrafica(2)
    
    Dim UP As String, RA As String, uRG As Integer, r As Long, i As Integer
    
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    Range("B15:H37").ClearContents
    r = 15
    'cerca in Anagrafica col. K e L
    With Sheets("Anagrafica")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    'cerca in Anagrafica(2) col. K, L e O
    With Sheets("Anagrafica (2)")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) And .Cells(i, 15) <> "NO" Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    End Sub
    Gene

  12. #11
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene

    Ahi, ahi, ahi ... Una routine Sub in this Workbook! In quel Modulo, in genere, ci va la gestione degli eventi.
    Io l'ho pensata come associata ad un pulsante ma, volendo, si può aggregare ad ad un evento (per esempio il cambiamento della dicitura dei menu a tendina).

    Ma guarda che la macro, per me, funziona.
    Seleziona il foglio Report, apri l'editor di VBA nel modulo dove hai inserito la macro, posizionati in una riga qualsiasi della macro e - in alto - clicca su Esegue.
    Stai a vedere cosa fa. Ovviamente la prova sul foglio che hai allegato nel Forum non sull'originale, almeno fino a quando non sei sicuro.

    Ciao,
    Mario

  13. #12

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    4521
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1523
    Utile dati
    957

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    ....
    Studia, ragazzo, studia ...
    ...
    ..
    Tempi duri, Gene, hai trovato un insegnante (Mario - che saluto) severissimo!!!!
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ehi voi due, oltre a prendermi per i fondelli...mi dite se con l'ultima modifica ho alzato la media dei DIM ?

    OK per il tasto....anche perchè se aggiungo anche l'eventuale aggregazione ad un evento...sono fritto!!!

    Gene

  15. #14
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene,
    così ti faccio lavorare anche durante il weekend. Ti allego il file col pulsante. La macro la trovi nel Modulo Marius. Fai le dovute prove e fai sapere.

    https://www.dropbox.com/s/4up0d0pbfq...0V.1.xlsm?dl=0

    Ciao,
    Mario

  16. I seguenti utenti hanno dato un "Utile"


  17. #15
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    691
    Versione Office
    2010
    Utile ricevuti
    24
    Utile dati
    156

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Mario,
    sembra che l'unica sistemazione da fare sia quando seleziono Tutti. In questo caso dovrebbe mostrarmi tutti i dipendenti dell'unità produttiva indipendentemente dal ruolo aziendale.

    Gene
    PS x Ges: Hai visto che in fondo in fondo il mio maestro non è cattivo. Lo disegnano così!!

  18. #16

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    4521
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1523
    Utile dati
    957

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    ...
    sembra che l'unica sistemazione da fare sia quando seleziono Tutti. In questo caso dovrebbe mostrarmi tutti i dipendenti dell'unità produttiva indipendentemente dal ruolo aziendale.
    ..
    .
    Sperando di ave ben capito, Gene perla tua ultima richiesta prova a integrare il codice di Mario (col suo permesso, visto che lui si sta godendo il mare ) così :
    Codice: 
    Dim UP As String, RA As String, r As Long, uRG As Long, i As Long
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    Range("B15:H37").ClearContents
    r = 15
    'cerca in Anagrafica col. K e L
    With Sheets("Anagrafica")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            ElseIf Cells(5, 4) = "Tutti" Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    'cerca in Anagrafica(2) col. K, L e O
    With Sheets("Anagrafica (2)")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
        If UP = .Cells(i, 11) And RA = .Cells(i, 12) And .Cells(i, 15) <> "NO" Then
            Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
             ElseIf Cells(5, 4) = "Tutti" Then
              Cells(r, 2) = .Cells(i, 3) 'nome
            Cells(r, 5) = .Cells(i, 7) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  19. #17
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    691
    Versione Office
    2010
    Utile ricevuti
    24
    Utile dati
    156

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    [RISOLTO]
    Grazie a tutti.

    Gene

  20. #18
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao a tutti

    @ges
    Grazie.
    Hai centrato. Ero fuori in mare per due giorni a ... mangiare quello che si pescava (anche se avevamo portato appresso un po' di roba, non si sa mai!). Primo giorno quasi nulla. Secondo giorno una aguglia imperiale di quasi 10kg! Una meraviglia.

    Ciao a tutti,
    Mario

  21. I seguenti 2 utenti hanno dato un "Utile" a Marius44 per questo post:


  22. #19
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    691
    Versione Office
    2010
    Utile ricevuti
    24
    Utile dati
    156

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina



    Gene

  23. #20
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    44
    Messaggi
    566
    Versione Office
    2010 64 bit
    Utile ricevuti
    79
    Utile dati
    41

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao Ale,

    alcune volte per ragioni meramente estetiche...provo a dimenticare questa semplice regola.....

    Attendo tue.
    Gene
    Ciao Gene,
    a parte il ritardo...e a parte forse la ridondanza nel ragionare...pensavo una cosa simile...ho fatto alcune prove e pare andare:

    =SE(B14="";"";SE.ERRORE(INDICE(Anagrafica!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica!$C$2:$C$10;RIF.RIGA(Anagrafica!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica!$C$2:$C$10));;1));RIF.RIGA(Anagrafica!$C$2:$C$10));RIF.RIGA(A2)));SE(RIF.RIGA()=15;SE.ERRORE(INDICE(Anagrafica2!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica2!$C$2:$C$10;RIF.RIGA(Anagrafica2!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica2!$C$2:$C$10));;1));RIF.RIGA(Anagrafica2!$C$2:$C$10));SE(CONTA.SE(Anagrafica!$C$3:$C$10;Report!B14)>0;RIF.RIGA()-RIF.RIGA(A13);CONFRONTA(B14;Anagrafica2!$C$2:$C$10;0)+1)));"");SE(CONTA.SE(Anagrafica2!$C$3:$C$10;Report!B14)>0;SE.ERRORE(INDICE(Anagrafica2!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica2!$C$2:$C$10;RIF.RIGA(Anagrafica2!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica2!$C$2:$C$10));;1));RIF.RIGA(Anagrafica2!$C$2:$C$10));SE(CONTA.SE(Anagrafica!$C$3:$C$10;Report!B14)>0;RIF.RIGA()-RIF.RIGA(A13);CONFRONTA(B14;Anagrafica2!$C$2:$C$10;0)+1)));"");SE.ERRORE(INDICE(Anagrafica2!$C:$C;PICCOLO(SE(SUBTOTALE(3;SCARTO(Anagrafica2!$C$2:$C$10;RIF.RIGA(Anagrafica2!$C$2:$C$10)-MIN(RIF.RIGA(Anagrafica2!$C$2:$C$10));;1));RIF.RIGA(Anagrafica2!$C$2:$C$10));SE(CONTA.SE(Anagrafica!$C$3:$C$10;Report!B14)>0;RIF.RIGA()-RIF.RIGA(A13);CONFRONTA(B14;Anagrafica2!$C$2:$C$10;0)+1)));"")))))

    sempre matriciale.
    ciao
    ale

  24. #21
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    691
    Versione Office
    2010
    Utile ricevuti
    24
    Utile dati
    156

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Ale,
    una soluzione aggiuntiva è sempre ben accetta e apprezzata!

    Grazie
    Gene

    PS Occhio solo al rispetto del copyright.... come da apposita delibera emessa dall' Ufficio Italiano Brevetti e Marchi...Le formule oltre le 10 righe sono di esclusiva pertinenza del grande Pkrome.

  25. #22
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    44
    Messaggi
    566
    Versione Office
    2010 64 bit
    Utile ricevuti
    79
    Utile dati
    41

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina


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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao a tutti,
    nel unire i suggerimenti avuti in vari threads e adattando la macro ho notato che ho bisogno di suggerimenti per due aggiustamenti da fare e precisamente:
    1) se interrogo Report selezionando Lombardia (in D4) +Lavoratore (in D5)
    dato atteso: Wayne John + Grant Cary --> dato ottenuto Grant Cary
    2)selezione: Veneto (in D4) +Tutti (in D5)
    dato atteso: riempimento celle fino a B37 e poi salto in B57 per inserimento nomi restanti.
    dato ottenuto: I nomi "sforano" oltre la riga B37.


    La causa per il punto 1 potrebbe essere la mia fissa per le celle unite??

    https://www.dropbox.com/s/oovx4twbuz...B%2B.xlsm?dl=0

    Lo script ri-adattato:
    Codice: 
    Option Explicit
    Sub selez() 'seleziona da Anagrafica
    Dim UP As String, RA As String, r As Long, uRG As Long, i As Long
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    Range("B15:H37").ClearContents
    r = 15
    'cerca in Anagrafica col. E e F e G
    With Sheets("AnagraficaFull")
    uRG = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To uRG
      If UP = .Cells(i, 5) And RA = .Cells(i, 6) And .Cells(i, 7) <> "NO" Then
            Cells(r, 2) = .Cells(i, 1) 'nome
            Cells(r, 5) = .Cells(i, 2) 'data nascita
             ElseIf Cells(5, 4) = "Tutti" Then
             Cells(r, 2) = .Cells(i, 1) 'nome
             Cells(r, 5) = .Cells(i, 2) 'data nascita
            r = r + 1
        End If
    Next i
    End With
    End Sub

    Grazie in anticipo
    Gene

  27. #24
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene
    nel codice che hai postato dopo la riga r = r +1 inserisci questa
    Codice: 
    If r = 38 Then r = r + 19
    Prova e fai sapere.
    Ciao,
    Mario

  28. #25

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    4521
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1523
    Utile dati
    957

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Mario, sicuramente ti è sfuggita tutta la richiesta, perchè così però risolve il problema del salto ma non quello della corretta ricerca.

    Ciao Gene,
    ti ho sistemato il codice, prova così:
    Codice: 
    Option Explicit
    Sub selez() 'seleziona da Anagrafica
    Dim UP As String, RA As String, r As Long, uRG As Long, i As Long
    Dim sh As Worksheet, sh1 As Worksheet
    Set sh = Worksheets("Report")
    Set sh1 = Worksheets("AnagraficaFull")
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    'cerca in Anagrafica col. E e F e G
    uRG = sh1.Cells(Rows.Count, 1).End(xlUp).Row
    With sh
    .Range("B15:H37").ClearContents
    .Range("B57:H84").ClearContents
    r = 15
    For i = 3 To uRG
      If UP = sh1.Cells(i, 5) And RA = sh1.Cells(i, 6) And sh1.Cells(i, 7) <> "NO" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
             r = r + 1
       If r = 38 Then r = r + 19
       ElseIf .Cells(5, 4) = "Tutti" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
             r = r + 1
      If r = 38 Then r = r + 19
        End If
    Next i
    End With
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao e grazie ad entrambi.

    Mario tu che hai il potere..metti [RISOLTO]

    Gene

  30. #27
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    1828
    Versione Office
    Excel2010
    Utile ricevuti
    453
    Utile dati
    110

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    @ges
    mi ero fermato all' ... osteria più a buon mercato.

    No Gene, non ce l'ho (il potere)! Vale solo per VBA e Grafici. Ges si che ce l'ha, lui può.

    Ciao,
    mario

  31. #28

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    4521
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1523
    Utile dati
    957

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    @ges
    mi ero fermato all' ... osteria più a buon mercato.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

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

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Ges & Mario,
    per contenere tutti i nomi dei dipendenti ho inserito un 3° modello nel foglio di lavoro Report (B108:G140) ed adattato la macro:

    Codice: 
    Option Explicit
    Sub selez() 'seleziona da Anagrafica
    Dim UP As String, RA As String, r As Long, uRG As Long, i As Long
    Dim sh As Worksheet, sh1 As Worksheet
    Set sh = Worksheets("Report")
    Set sh1 = Worksheets("AnagraficaFull")
    UP = Cells(4, 4): RA = Cells(5, 4) 'assume D4 e D5
    'cerca in Anagrafica col. E e F e G
    uRG = sh1.Cells(Rows.Count, 1).End(xlUp).Row
    With sh
    .Range("B15:G40").ClearContents
    .Range("B58:G90").ClearContents
    .Range("B108:G140").ClearContents
    r = 15
    For i = 3 To uRG
      If UP = sh1.Cells(i, 5) And RA = sh1.Cells(i, 6) And sh1.Cells(i, 7) <> "NO" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
             r = r + 1
       If r = 41 Then r = r + 17
       ElseIf .Cells(5, 4) = "TUTTI" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
             r = r + 1
      If r = 91 Then r = r + 17
      ElseIf .Cells(5, 4) = "TUTTI" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
        End If
    Next i
    End With
    End Sub
    ma ho lasciato un baco!!
    Infatti se ad esempio interrogo usando LOMBARDIA (D4) e Lavoratore (D5) il salto dal modello 1 al 2 avviene perfettamente (r=40+17) ma selezionando TUTTI (D5) il salto non avviene tra i modelli 1 e 2 mentre avviene correttamente tra i modelli 2 e 3 (r=90+17).

    Cosa non sò??

    Grazie
    Gene
    File Allegati File Allegati

  33. #30

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    4521
    Versione Office
    2011/2016MAC
    Utile ricevuti
    1523
    Utile dati
    957

    Re: Elencare nominativi prelevati da due fogli di lavoro pre-filtrati da 2 menu a tendina

    Ciao Gene,
    se rileggi bene il codice hai messo due volte la stessa dichiarazione:


    Codice: 
     ElseIf .Cells(5, 4) = "TUTTI" Then

    Dovresti modificarlo così:
    Codice: 
    .....
    .....
    r = 15
    For i = 3 To uRG
      If UP = sh1.Cells(i, 5) And RA = sh1.Cells(i, 6) And sh1.Cells(i, 7) <> "NO" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
             r = r + 1
       If r = 41 Then r = r + 17
       ElseIf r = 91 Then r = r + 17
       ElseIf .Cells(5, 4) = "TUTTI" Then
            .Cells(r, 2) = sh1.Cells(i, 1) 'nome
            .Cells(r, 5) = sh1.Cells(i, 2) 'data nascita
             r = r + 1
      If r = 41 Then r = r + 17
       ElseIf r = 91 Then r = r + 17
       End If
    Next I
    ......
    ......
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

Discussioni Simili

  1. Risposte: 33
    Ultimo Messaggio: 17/10/16, 20:42
  2. menù a tendina
    Di graziano nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 17/08/16, 18:31
  3. menù a tendina
    Di graziano nel forum Domande su Excel VBA e MACRO
    Risposte: 16
    Ultimo Messaggio: 02/08/16, 18:32
  4. copiare da cella con menu a tendina in un altro foglio di lavoro
    Di Gian7 nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 28/06/16, 22:15
  5. Menu a tendina??
    Di Salvo nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 29/09/15, 17:19

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
  •