Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

Confronto di nomi

  1. #1
    ChiccoExcel non  in linea Novello
    Post
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao a tutti,
    devo confrontare due nomi inseriti in una lista di excel per verificare se sono uguali ma....:

    1) i nomi possono essere inseriti come "Mario Rossi" o " Rossi Mario"
    2) vorrei evitare di somporre le stringhe in singole lettere, convertirle in valore e sommare i valori per confrontarli

    vorrei trovare qualcosa di pi veloce
    qualcuno ha qualche consiglio da darmi?
    Grazie mille
    ChiccoExcel

  2. #2
    L'avatar di Cteniza
    Cteniza non  in linea Amanuense
    Post
    4,378
    Blogs
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Beh se non vuoi scomporre le righe non ti resta che provare una cosa del genere:
    Dim a As String
    Dim b As String
    a = "Mario Rossi"
    b = "Rossi Mario"
    Dim k As Integer
    Dim s() As String
    s = Split(a," ")
    For k = LBound(s) To Ubound(s)
    b = Replace(b,s(k),"")
    Next
    If Trim(b) = "" then msgbox "Uguali"

  3. #3
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Post
    7,244
    Blogs
    3
    Like Inviati  
    19
    Like Ricevuti  
    13
    soluzione eccellente [img]smileys/smiley1.gif[/img]

    mi permetto di fare una piccola aggiunta...

    Dim a As String
    Dim b As String
    a = "Mario Rossi"
    b = "rossi mario"
    Dim k As Integer
    Dim s() As String
    s = Split(a, " ")
    For k = LBound(s) To UBound(s)
    b = Replace(UCase(b), UCase(s(k)), "")
    Next
    If Trim(b) = "" Then MsgBox "Uguali"
    
    cos anche se sono "Rossi Mario" e "mario rossi", vengono comunque trovati uguali...

    Thetruster
    ℹ️ Leggi di pi su TheTruster ...

  4. #4
    ChiccoExcel non  in linea Novello
    Post
    2
    Like Inviati  
    0
    Like Ricevuti  
    0
    Grazie mille del suggerimento ma NON sembra funzionale....
    Con il medototo da voi proposto "Mario Rossi" e "Mario" risultano uguali.

    le ho provate tutte ma non ho trovato la soluzione.
    Grazie comunque.

  5. #5
    L'avatar di Cteniza
    Cteniza non  in linea Amanuense
    Post
    4,378
    Blogs
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Un pochino di fantasia, cribbio! ).
    Il mio era un semplice suggerimento che doveva per forza essere sviluppato per diventare qualche cosa di funzionante.
    Devi introdurre pertanto nel tuo programma dei controlli.
    Esempio (ma ce ne potrebbero essere anche degli altri):
    Dim a As String
    Dim b As String
    a = "Mario Rossi"
    b = "rossi mario"
    a = lcase(a)
    b = lcase(b)
    Dim k As Integer
    Dim s() As String
    s = Split(a, " ")
    For k = LBound(s) To UBound(s)
    if Instr(1,b,s(k)) = 0 then
    b = b + "z"
    exit for
    end if
    b = Replace(b, s(k), "")
    Next
    If Trim(b) = "" Then MsgBox "Uguali"

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Indice dei nomi
    Da fpog nel forum Microsoft Access
    Risposte: 16
    Ultimo Post: 26-08-2013, 18:41
  2. Nomi di File
    Da DoubleD nel forum Microsoft Word
    Risposte: 1
    Ultimo Post: 07-05-2008, 16:38
  3. nomi tabelle
    Da John nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 06-02-2007, 14:34
  4. Nomi Cartelle in DOS
    Da Zigo nel forum C#
    Risposte: 1
    Ultimo Post: 04-05-2006, 00:19
  5. Nomi Tabelle
    Da guido_gilli nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 04-01-2006, 20:37