George deve spesso lavorare con dati forniti da altre persone. Quando lavora con questi dati, potrebbe dover convertire un nome, ad esempio Joe Bloggs, in modo che il cognome sia il primo, come in Bloggs, Joe. George capisce che può usare una formula per invertire il nome, ma deve farlo nella stessa cella in cui risiede il nome. Si chiede se esiste un comando integrato che eseguirà questa operazione.

No, non esiste un comando integrato per farlo. Tuttavia, puoi creare una macro che eseguirà il passaggio per te. Questa macro potrebbe quindi essere assegnata a un tasto di scelta rapida o posizionata sulla barra degli strumenti in modo che sia facilmente accessibile. Ecco una semplice macro che farà il passaggio:

Sub ReverseNames()

Dim c As Range     Dim n As Variant     Dim s As String     Dim j As Integer

For Each c In Selection         n = Split(c, " ")

s = n(UBound(n)) & ","

For j = LBound(n) To UBound(n) - 1             s = s & " " & n(j)

Next j         c.Value = Trim(s)

Next c End Sub

Per utilizzare la macro, seleziona semplicemente l’intervallo di celle che desideri influenzare e quindi eseguilo. La macro separa il testo nella cella in singole parole (separate da spazi) e quindi ricostruisce il nome. Gestirà perfettamente nomi di due parole (come Joe Bloggs), ma gestirà anche nomi più lunghi (come Joseph Andrew Bloggs) altrettanto facilmente.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (11399) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: