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

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

Sub ReverseNames()

Dim x As Integer     Dim sCell As String     Dim sLast As String     Dim sFirst As String     Dim rCell As Range

For Each rCell In Selection         sCell = rCell.Value         x = InStr(sCell, " ")

If x > 0 Then             sFirst = Left(sCell, x - 1)

sLast = Mid(sCell, x + 1)

rCell.Value = sLast & ", " & sFirst         End If     Next     Set rCell = Nothing End Sub

要使用该宏,只需选择要影响的单元格范围,然后运行它即可。宏在单元格中搜索一个空格,并将空格前面的所有内容都视为姓氏,并将空格之后的所有内容都视为姓氏。反转这两个元素,在它们之间插入一个逗号,然后将其填充回单元格中。

注意:

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

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

本技巧(3812)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: