The traditional format of 'Last, First', with a comma separator, is also supported by default. Outlook is smart enough to properly assign the names to the correct fields when you enter a name using 'Last, First' format.
However, it's really easy to get the fields switched when you don't realize the default order is not the same order you are entering names in the full name field and aren't using a comma.
It's just as easy to swap the names into the correct fields using VBA.
Macro to Swap First and Last Names
This code places the first name field in the User3 field and the last name in the User 4 field, then puts the value in the User4 field into the first name field and the User 3 field in the first name field. The same process can be used to move a last name out of the .MiddleName field.
If you are using the User3 and User4 fields for data, you'll need to use a different field to hold the values. Note: You really only need one field to hold the first name field, then you can move the last name into the first name field. I use both fields and keep the names in the fields so I have a record of what the original values were but you can erase the values using the macro, if desired.
Tip: to check to see if the user fields are being used, you can add the fields to a list view and look over the list.
This code is designed to run on selected contacts in any contacts folder. You need to select the contacts that need changed before running the code.
Public Sub SwapFirstLastNames() Dim currentExplorer As Explorer Dim Selection As Selection Dim obj As Object Set currentExplorer = Application.ActiveExplorer Set Selection = currentExplorer.Selection On Error Resume Next For Each obj In Selection 'Test for contact and not distribution list If obj.Class = olContact Then Set objContact = obj With objContact If .FirstName <> "" Then Let .User3 = .FirstName If .LastName <> "" Then Let .User4 = .LastName .FirstName = .User4 .LastName = .User3 .Save 'If you don't want to keep the values in the user fields for tracking purposes, ' uncomment these two lines. I recommend keeping the names in the user fields ' .User3 = "" ' .User4 = "" ' .Save End If End If End With End If Err.Clear Next Set obj = Nothing Set objContact = Nothing End Sub
Merging Middle and Last Name Fields
While you can use a macro to move a name from the middle name field into the last name field as two last names, note that its more complicated to split two names into the Middle and Last name fields so do this with caution.
While you don't need to use a User field to hold the MiddleName, it will make it easier to split the names back into two fields using VBA if you make a mistake (and kept the names in the User fields).
If .MiddleName <> "" Then Let .User3 = .MiddleName If .LastName <> "" Then Let .User4 = .LastName .LastName = .User3 & "" & .User4 .MiddleName = "" .Save
More Articles at Slipstick.com:
- Bulk Change Contact's FileAs Format to Match Outlook's Default Setting
- Bulk Change Email Display Name Format
- Bulk Change File As Format for Contacts
- Bulk Move Phone Numbers to a Different Phone Field
- Show the Home Address on a Contact Form by Default
- Update Contacts with a New Company Name and Email Address
Bulk Move Phone Numbers to a Different Phone Field This code is the basis for the Swap Names macro.
Bulk Change File As Format for Contacts
Bulk Change Email Display Name format