如何在VBA中为相连字符间添加空格且不删除原有任意字符
问题原因
- VBA的
Range.Replace方法中,定义替换后内容的参数为Replacement,你代码中错写为space,参数名错误直接导致替换逻辑不符合预期 - 替换值仅设置为
"0",缺失了原内容中的a部分,自然无法得到0 a的输出结果
解决方法
方法1:修正VBA代码实现批量处理
直接修改参数和替换值即可批量替换H列所有0a为0 a:
Sub ReSpace() Columns("H").Replace What:="0a", _ Replacement:="0 a", _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ MatchCase:=False, _ SearchFormat:=False, _ ReplaceFormat:=False End Sub
如果需要严格区分大小写,只匹配小写的0a、忽略0A这类内容,把MatchCase参数改为True即可。
方法2:用工作表函数临时处理
不想运行VBA的话可以用公式快速处理:
- 在H列旁的空白列第一行输入公式:
=SUBSTITUTE(H1,"0a","0 a") - 下拉填充公式覆盖所有需要处理的行
- 选中所有公式结果,右键选择「粘贴为值」,覆盖到原H列即可完成替换
内容的提问来源于stack exchange,提问作者user16290409
相关产品推荐
相关产品推荐

