Dim rg as range'
'
'...
For Each sh In wb.Worksheets
sh.Activate
For j = 0 To k - 1 '遍历工作簿所有的工作表
whatstr = rep1(j) '需要替换文本
replstr = rep2(j) '替换文本
For Each rg In sh.Range("A1:g55")
rg.Value = Replace(rg.Value, whatstr, replstr)
Next rg
Next j
Next
'....
录制的代码就和你的一样,但不知道为什么不行 ,
这样虽然可以实现要求 ,但运行效率很低 , 应该使用数组循环 , 而不是单元格循环.
|