乔治经常不得不处理其他人提供的数据。在处理这些数据时,他可能需要转换一个名字,例如Joe Bloggs,以便姓氏是第一个,就像在Bloggs,Joe中一样。 George知道他可以使用公式来进行名称反转,但是他需要在名称所位于的同一单元格中进行。他想知道是否有内置命令可以执行此任务。

不,没有内置命令可以执行此操作。但是,您可以创建一个宏来为您执行切换。然后可以将此宏分配给快捷键或放置在工具栏上,以便可以轻松访问它。这是一个可以进行切换的简单宏:

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

要使用该宏,只需选择要影响的单元格范围,然后运行它即可。宏将单元格中的文本分成单个单词(用空格分隔),然后再次建立名称。它可以很好地处理两个单词的名称(例如Joe Bloggs),但是也可以轻松处理更长的名称(例如Joseph Andrew Bloggs)。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11399)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: