我使用下面的代码来查找并替换Sheet1中存在的单词列表(COLA用于FIND单词,ColB用于替换单词),范围为A:H的Sheet2。它执行工作,但非常缓慢。这个脚本可以修改为更快运行吗?增强excel多个查找和替换脚本
Option Explicit
Option Base 1
Sub FindReplace()
Dim LR&, Ctr&
Dim ArrayInsen As Variant
Application.ScreenUpdating = False
With Sheets("Sheet1")
LR& = Cells(Rows.Count, "A").End(xlUp).Row
ArrayInsen = Worksheets("Sheet1").Range("A2:B" & LR&)
End With
With Sheets("Sheet2").Columns("A:H")
Application.DisplayAlerts = False
For Ctr& = LBound(ArrayInsen) To UBound(ArrayInsen)
.Replace What:=ArrayInsen(Ctr&, 1), Replacement:=ArrayInsen(Ctr&, 2), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next Ctr&
Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True
End Sub
感谢有关此问题的任何帮助。
您可以通过实际使用的范围调整“A:H”范围。 – Klaster
是您要替换参与任何计算的值的单元格吗?如果是这样,将计算结果转换为手动@开始和返回到自动(或任何你设置的)在最后可能会有所帮助。数组中有多少个值? – sous2817