通过VBA删除Excel中的线路破坏会导致溢出错误



在特定的工作簿中,当我使用此代码删除线路断点时,我会遇到溢出错误。更具体地说,它挂在If 0 < InStr(MyRange, Chr(10)) Then位上。工作表上没有太多数据。我绝对成功地在更大的数据集上运行了代码。是什么造成这一点?

Sub RemoveCarriageReturns()
    Dim MyRange As Range
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    For Each MyRange In ActiveSheet.UsedRange
        If 0 < InStr(MyRange, Chr(10)) Then
            MyRange = Replace(MyRange, Chr(10), "")
        End If
    Next
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub

编辑:我遇到的错误是:运行时错误'6':溢出

您可以使用

做同样的事情
ActiveSheet.UsedRange.Replace what:=Chr(10), replacement:=vbNullString

无需循环

最新更新