Condividi tramite

Invertire da cognome e nome a nome e cognome

Anonimo
2018-09-19T10:12:32+00:00

Ciao a tutti,

Mi serve il vostro aiuto per capire se esiste un modo per aggirare il problema che vado a presentarvi. Nel foglio1 nella cella C5 ho inserito una convalidati che mi permette ogni volta che scelgo un nominativo mediante il cercavert di richiamare nelle altre celle informazioni relative al nominativo scelto. Per comodità e per avere l'ordine dei dati i valori della convalidati che si trovano nel foglio2 da A2:A200 riporta il cognome e nome. Il mio problema è che quando scelgo un nominativo nel foglio1 stampo il tutto su un modulo da precompilare dove vado a riempire alcuni campi che riporta le informazioni da me selezionato. Sul modulo dovrebbe essere riportato prima il nome e poi il cognome. Pertanto la mia domanda è: esiste un modo per aggirare il problema in modo da riportare prima il nome e poi il cognome? Da tenere in considerazione anche il fatto che diversi cognomi sono formati da 2 parole, esempio Di Lorenzo, Di Gennaro, ecc. Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2018-09-19T17:41:50+00:00

    Prova questa UDF, da utilizzare come una normale formula nel foglio, dove l'argomento str è la stringa composta da Cognome  e Nome (anche facendo riferimento ad una cella).

    Es. se in A1 tu avessi il cognome e nome in B1 postresti inserire =InvertiCognomeNome(A1)

    La FDU è da inserire in un modulo standard del progetto VBA della cartella di lavoro:

    Function InvertiCognomeNome(str As String) As String

       Dim i As Long

       Dim sCognome As String

       Dim sNome As String

       i = InStrRev(str, " ")

       If i = 0 Then Exit Function

       sCognome = Mid(str, 1, i - 1)

       sNome = Mid(str, i + 1, Len(str))

       InvertiCognomeNome = sNome & " " & sCognome

    End Function

    Una volta creata una colonna con i Nomi e Cognomi puoi sempre eseguire un copia/incolla valori e con il cerca verticale ricavare quella stringa da riportare nel modulo.

    Quello che dovresti ottenere è qualcosa del genere:

    Di Gennaro Franco Franco Di Gennaro
    Ingrassia Ciccio Ciccio Ingrassia
    Franchi Franco Franco Franchi
    Di Lorenzo Mario Mario Di Lorenzo
    Rossi Mario Mario Rossi

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2018-09-20T07:48:40+00:00

    Prego :)

    Tieni però presente che il corretto funzionamento è condizionato dal fatto che il nome sia sempre composto da una sola parola.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2018-09-20T06:15:39+00:00

    Ciao casanmaner, 

    È ottima, ho creato una colonna di appoggio e mediante la tua UDF ho risolto. Ancora grazie per l'aiuto.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2018-09-19T17:31:07+00:00

    Ciao casanmaner, 

    Ti ringrazio innanzitutto della risposta. Si i nomi sempre una sola parola.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2018-09-19T17:11:57+00:00

    Da tenere in considerazione anche il fatto che diversi cognomi sono formati da 2 parole, esempio Di Lorenzo, Di Gennaro, ecc. Grazie

    I nomi ivece sempre composti da una sola parola?

    La risposta è stata utile?

    0 commenti Nessun commento