Find con 2 parametri



  • Find con 2 parametri
    di Bering (utente non iscritto) data: 12/03/2014 21:44:35

    Buonasera,

    Mi chiedevo se esiste un modo per usare Find con almeno 2 parametri... Ho necessita' di individuare in un foglio il numero di riga contenente i parametri "investitore" in colonna A e "portafoglio" in colonna C. Solo l'individuazione di entrambi questi parametri rende il riferimento univoco: "investitore" e "portafoglio" sono presenti in varie parti del file ma solo una volta nella stessa riga.... In alternativa potete suggerirmi un altra soluzione? Grazie!




  • di lepat (utente non iscritto) data: 13/03/2014 07:41:30

    un file di esempio sarebbe utile per fare prove, se il file sul quale lavori ha poche righe e poche colonne si può fare con 2 semplici loop, altrimenti con 2 find, uno per scandire le righe ed uno per cercare la colonna



  • di Bering (utente non iscritto) data: 13/03/2014 08:30:40

    Ciao Lepat, grazie per l'interessamento. Ho allegato un file di esempio... in questo caso vorrei ottenere il riferimento di riga che contiene simultaneamente le stringhe Nome e Portafoglio rispettivamente in colonna A e C (questo non cambia), quindi la riga 17. Grazie!



  • di Lucas87 data: 13/03/2014 09:45:11

    Ciao.
    Prova questo.
    Attenzione: Con il find impostato così cerca le parole anche se si trovano all'interno di altre parole/frasi. Ho dovuto fare così perchè le celle contengono degli spazi.
    Per evitarlo devi togliere gli spazi e aggiungere

    ,lookat:=xlwhole

    nella parentesi del .find
     
    Sub trova()
    Set n = Columns(1).Find(what:="nome")
    Set p = Columns(3).Find(what:="portafoglio")
    If Not n Is Nothing And Not p Is Nothing Then
        If n.Row = p.Row Then
            MsgBox "La riga interessata è la n°: " & n.Row & "" 'mostra messaggio
        Else
            MsgBox "Riga non trovata."
        End If
    End If
    End Sub
    



  • di lepat (utente non iscritto) data: 13/03/2014 12:17:45

    con questo codice limiti la ricerca al primo valore trovato, non so se basta



  • di Lucas87 data: 13/03/2014 12:59:38

    cit "ma solo una volta nella stessa riga..."

    Io ho capito che la situazione si presenta una sola volta.



  • di scossa data: 13/03/2014 15:12:46

    Stando al tuo file di esempio:

    =CONFRONTA("nomeportafoglio";A1:A31&C1:C31;0)
    matriciale da confermare con ctrl+maiusc+invio

    oppure non matriciale:
    =CONFRONTA("nomeportafoglio";INDICE(A1:A31&C1:C31;);0)
    da confermare col solo invio



  • di scossa data: 13/03/2014 15:14:58

    Se poi vuoi usare il vba:
     
    nRiga = [MATCH("nomeportafoglio",INDEX(A1:A31&C1:C31,),0)]



  • di scossa data: 13/03/2014 15:15:50

    o meglio:
     
    nRiga = [MATCH("nomeportafoglio",A1:A31&C1:C31,0)]



  • di Bering (utente non iscritto) data: 13/03/2014 19:08:13

    Grazie 1000 a tutti. Appena posso controllo e vi faccio sapere.



  • di Bering (utente non iscritto) data: 13/03/2014 21:47:26

    Direi che Match e' perfetto, grazie Scossa.
    @Lucas, grazie anche la tua soluzione potrebbe tornarmi utile ma mi da "riga non trovata". Ci rifletto su e se risolvo posto la soluzione. Grazie ancora, buona serata.



  • di lepat (utente non iscritto) data: 14/03/2014 06:51:38

    Complimenti Scossa
    non avevo mai visto una cosa del genere