You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Word VBA中调换姓名的姓氏与名字顺序?

解决Word中姓氏与名字顺序调换的问题

方法一:使用Word自带查找替换(正则匹配)

  1. 打开目标文档,按下Ctrl+H调出「查找和替换」窗口
  2. 点击窗口左下角的更多,勾选「使用通配符」选项
  3. 在「查找内容」框输入:([A-Z]{2,}) ([A-Z][a-z]+)
    • 规则说明:([A-Z]{2,})匹配全大写的姓氏(默认姓氏为全大写且至少2个字母);([A-Z][a-z]+)匹配首字母大写、后续小写的名字
  4. 在「替换为」框输入:\2 \1
    • 规则说明:\2对应查找内容里的第二个匹配组(名字),\1对应第一个匹配组(姓氏),实现顺序调换
  5. 点击「全部替换」完成批量修改

注:如果姓氏/名字有特殊格式(比如带连字符、缩写),可调整正则规则。例如姓氏含小写后缀时,可将匹配规则改为([A-Z][a-zA-Z-]+)

方法二:使用Word VBA代码(适合批量处理场景)

  1. 打开Word,按下Alt+F11打开VBA编辑器
  2. 右键左侧「Normal」项目 → 插入 → 模块
  3. 粘贴以下代码:
Sub SwapNameOrder()
    Dim rng As Range
    Set rng = ActiveDocument.Content
    
    With rng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "([A-Z]{2,}) ([A-Z][a-z]+)"
        .Replacement.Text = "\2 \1"
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With
End Sub
  1. 按下F5运行代码,自动完成替换

内容的提问来源于stack exchange,提问作者CapK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:39:51