'This runs contacts in any folder. 'Select the contacts you want to change then run the macro. Public Sub SwapFirstLast() Dim Session As Outlook.NameSpace Dim currentExplorer As Explorer Dim Selection As Selection Dim currentItem As Object Dim folder As Outlook.folder Dim obj As Object Dim strFirstName As String Dim strLastName As String Dim strFileAs As String 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 objOL = Nothing Set objNS = Nothing Set obj = Nothing Set objContact = Nothing Set objItems = Nothing Set objContactsFolder = Nothing End Sub