I det här inlägget visar vi dig gärna hur du kan ändra ordningen på för- och efternamn i en lista i ett Word-dokument.
Ett engelskt namn innehåller förnamn, mellannamn och efternamn. Och det är skrivet i samma ordning. Som ett resultat av globaliseringen utbyter människor från olika regioner nu oftare än någonsin. Följaktligen finns det många internationella konferenser idag. Och namn på andra språk brukar ha en annan ordning. Därför finns det tillfällen när du behöver ändra ordningen på för- och efternamn i en lista. Poängen är hur vi kan göra det i sats.
Egentligen kan du åstadkomma detta i Word med hjälp av ett makro. Följ våra instruktioner nedan.
Ändra ordningen på förnamn och efternamn i en lista
- Först och främst, skapa en tabell med två kolumner och flera rader i Word.
- I den första kolumnen anger du namn som behöver ändra sekvensen. Var försiktig så att du inte anger något mellanslag efter namn.
- Lämna den andra kolumnen tom.
- Klicka sedan på fliken “Developer” och klicka på “Visual Basic” för att utlösa VBA-redigeraren. Om fliken "Utvecklare" inte är tillgänglig, tryck istället på "Alt + F11".
- Skapa nu en ny modul genom att klicka på “Normal” i den vänstra kolumnen.
- Klicka sedan på "Infoga" -fliken och välj "Modul" i rullgardinsmenyn.
- Nästa dubbelklicka på ny modul för att öppna den.
- Och klistra in följande koder där:
Sub ExchangeNameOrder()
Dim strOriginalName As String, strNewName As String
Dim aryOriginalName() As String
Dim nIndex As Integer
Dim objTable As Table
Dim objOriginalName As Cell
Dim objOriginalNameRange As Range
Dim objExchangedNameRange As Range
Dim nRowNumber As Integer
Set objTable = ActiveDocument.Tables(1)
nRowNumber = 1
' Traversing the names in column 1
For Each objOriginalName In objTable.Columns(1).Cells
Set objOriginalNameRange = objOriginalName.Range
objOriginalNameRange.MoveEnd Unit:=wdCharacter, Count:=-1
Set objExchangedNameRange = objTable.Cell(i, 2).Range
objExchangedNameRange.MoveEnd Unit:=wdCharacter, Count:=-1
strOriginalName = objOriginalNameRange.Text
aryOriginalName() = Split(strOriginalName, " ")
' Exchange the order of first name and last name, and put the new name in column 2.
If UBound(aryOriginalName) > 0 Then
strNewName = aryOriginalName(UBound(aryOriginalName))
For nIndex = 1 To UBound(aryOriginalName) - 1
strNewName = strNewName & " " & aryOriginalName(nIndex)
Next nIndex
strNewName = strNewName & " " & aryOriginalName(0)
objExchangedNameRange.InsertAfter (strNewName)
Else
objExchangedNameRange.InsertAfter (strOriginalName)
End If
nRowNumber = nRowNumber + 1
Next objOriginalName
MsgBox ("The first name and last name have been exchanged the order in column2.")
End Sub
- Slutligen klickar du på "Kör".
Nu får du en meddelandefält som informerar dig om att utbytet har slutförts. Du kan se namn i ny ordning i den andra kolumnen. Kontrollera resultatet nedan:
Ditt sista hopp om att hämta data tillbaka
Oundvikligen skulle vi stöta på Word-problem då och då. Så sorgligt som det låter är det också väldigt sant. Men du måste komma ihåg att det alltid finns saker vi kan göra när en kollaps inträffar i Word. Försök först med det inbyggda verktyget för korrupta ord. Om det inte skulle hjälpa, vilket är helt fallet hela tiden, kan du förankra ditt hopp i en avancerad reparationsprodukt.
Författarintroduktion:
Vera Chen är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive återställa xlsx och pdf reparera programvaruprodukter. För mer information besök www.datanumen.com



