使用VBA实现多单元格字符串带空格拼接以合并姓名
Excel姓氏名字单元格拼接宏修改方案
原有代码修改方案
你自行找到的修改方法完全可行,原有代码本身支持自定义分隔符,只需找到代码中sSeparator = ""这一行,在两个双引号之间添加一个空格,修改为 sSeparator = " "即可。修改完成后运行宏,拼接两个单元格内容时默认就会自动添加空格作为分隔符,满足姓名拼接的需求。
额外使用提示:如果不想修改代码默认配置,也可以在运行宏弹出分隔符输入弹窗时,手动输入一个空格,即可临时实现空格分隔的效果,无需改动代码。
轻量化专用姓名拼接宏(可选替代方案)
如果你只需要固定完成姓氏+名字的拼接场景,不需要太多自定义配置,可以使用逻辑更简单的专用宏:
Sub 拼接完整姓名() Dim 姓区域 As Range, 名区域 As Range, 输出区域 As Range On Error Resume Next Set 姓区域 = Application.InputBox("请选择存储姓氏的单元格/单元格区域", "选择姓氏范围", Type:=8) Set 名区域 = Application.InputBox("请选择对应存储名字的单元格/单元格区域", "选择名字范围", Type:=8) Set 输出区域 = Application.InputBox("请选择输出完整姓名的起始单元格", "选择输出位置", Type:=8) On Error GoTo 0 If 姓区域 Is Nothing Or 名区域 Is Nothing Or 输出区域 Is Nothing Then Exit Sub If 姓区域.Rows.Count <> 名区域.Rows.Count Then MsgBox "姓氏区域和名字区域的行数需要保持一致" Exit Sub End If Dim i As Long For i = 1 To 姓区域.Rows.Count 输出区域.Cells(i, 1).Value = 姓区域.Cells(i, 1).Value & " " & 名区域.Cells(i, 1).Value Next i End Sub
这个宏支持批量拼接多行的姓氏和名字,默认自带空格分隔,操作更适配姓名拼接场景。
内容的提问来源于stack exchange,提问作者ImFamousISwear
相关产品推荐
相关产品推荐

