我正在使用在上一个问题中得到帮助的代码:(VBA Excel 查找和替换而不替换已替换的项目)
我有以下代码用于替换列中的项目:Sub Replace_Once() Application.ScreenUpdating = False
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Range("A1:A" & LastRow).Interior.ColorIndex = xlNone
For Each Cel In Range("B1:B" & LastRow)
For Each C In Range("A1:A" & LastRow)
If C.Value = Cel.Value And C.Interior.Color <> RGB(200, 200, 200) Then
C.Interior.Color = RGB(200, 200, 200)
C.Value = Cel.Offset(0, 1).Value
End If
Next
Next
这适用于小文件,但是当 A 列的长度接近 3800 并且 B 和 C 大约有 280 次 Excel 崩溃时,我收到以下错误:
运行时错误'-2147417848(800810108)':
对象“内部”的方法“颜色”失败
任何想法为什么会发生这种情况?
编辑:只是为了澄清错误似乎发生在该行
If C.Value = Cel.Value And C.Interior.Color = RGB(200, 200, 200) Then