image.png

本技巧的目的:掌握循环批量替换多个值的方法

1. 代码助手可以查找到替换的代码

  1. 代码助手下载地址 [http://excel880.com/blog/archives/11297](http://excel880.com/blog/archives/11297)
  • 输入中文: 替换+空格,无需切换界面,代码助手会自动寻找出匹配的代码:
  • 技巧006 批量替换 - 图3
  • 选择后实现快速输入代码的目的。
  • 如果代码库没有收录,第一次进行收录后,以后再使用只需调用即可。

    2. 循环读取参数表的数据

  • 以下为参数表: 一共 3行 2列 的数据

  • 技巧006 批量替换 - 图4
  • 根据行数进行循环:
  • 技巧006 批量替换 - 图5
  • 代码如下:
  • For i = 1 To 3 ‘第1行 到 第3行循环
  • 查找值 = Sheet5.Cells(i, 1) ‘第1列, 循环行单元格
  • 替换值 = Sheet5.Cells(i, 2) ‘第2列, 循环行单元格
  • Sheet2.Cells.Replace What:=查找值, Replacement:=替换值, LookAt:=xlWhole
  • ‘到 sheet2 内查找, 替换
  • Next
  • 注释:
  • ★★★ 注意:先将需要 查找值,替换值 赋值给变量,这样书写代码,调试代码都会变得方便!
  • 替换代码可以通过录制宏方法得到:
  • 技巧006 批量替换 - 图6
  • 查找下一个,替换:
  • 技巧006 批量替换 - 图7
  • ★★★ 注意:录制完毕后,一定要停止录制代码。
  • 得到代码如下:
  • 技巧006 批量替换 - 图8
  • 修改红框画出的替换代码:
  • Activecell: 活动的单元格
  • 使用实际的单元格来替换它。
  • Sheet2.Cells:sheet2 内的所有单元格 见下图:
  • 技巧006 批量替换 - 图9
  • Range.Replace 方法的参数:
  • 以下为必写参数:
  • ① What 需要搜索的字符串
  • ② Replacement 需要替换的字符串
  • 以下为可选参数:
  • ③ LookAt 匹配方式: xlWhole 完全匹配 或 xlPart 任一部分匹配
  • ④ SearchOrder 搜索次序:
  • xlByRows : 先向右搜索,完毕后再移到下一行进行搜索
  • xlByColumns:先向下搜索,完毕后再移到下一列进行搜索
  • ⑤ MatchCase 是否区分大小写 True:区分 False: 不区分
  • ⑥ MatchByte 是否区分全半角 True:双字节字符只与双字节字符匹配。False:双字节字符可与其对等的单字节字符匹配。
  • ⑦ SearchFormat 搜索的文字格式
  • ⑧ ReplaceFormat 替换的文字格式
  • 运行前:
  • 技巧006 批量替换 - 图10
  • 运行中:
  • 可以通过本地窗口,查看各赋值的情况:
  • 技巧006 批量替换 - 图11
  • 将断点打到 Next,按F5 运行后:
  • 本地窗口显示:i:第1行 查找值:姓名1 替换值:孙悟空
  • 左边的单元格显示,已将 姓名1 全部 替换成 孙悟空
  • 将 Next 的断点去掉,全部运行完毕后:
  • 技巧006 批量替换 - 图12
  • 实现了文字的全部替换。

    更多作品请百度搜索 郑广学

    VBA代码助手 懒人神器 在 EXCEL880.COM 官网下载