首页 > 解决方案 > 通过 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':溢出

标签: excelvba

解决方案


你可以这样做

ActiveSheet.UsedRange.Replace what:=Chr(10), replacement:=vbNullString

无需循环


推荐阅读