使用Trim时的运行时错误13

时间:2018-03-12 15:36:11

标签: excel vba excel-vba runtime-error

我已经在许多Excel工作簿中使用了这个VBA而没有任何问题。在特定的工作簿上,我收到运行时错误“13”:一旦到达Cell = Trim(Cell)部分,就会输入错误错误。可能是什么导致了这个?我查看了数据,但找不到任何与众不同的东西。

Sub TrimHS()
Application.Cursor = xlWait
Application.ScreenUpdating = False
Dim LastRow As Integer
LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

Range("A83:G" & LastRow).Select
Dim rng As Range, Cell As Range
Set rng = Selection

For Each Cell In rng
Cell = Trim(Cell)

Next Cell

Application.Cursor = xlDefault

End Sub

2 个答案:

答案 0 :(得分:2)

Cell类型为Excel.Range,Trim输出类型为String

我相信cell.value=trim(cell.value)是您需要的

答案 1 :(得分:2)

您在特定工作簿上有错误,因此如果您要修剪它,Trim()会给出错误13。修剪之前确保没有错误:

For Each Cell In rng
    If Not IsError(Cell) Then
        Cell = Trim(Cell)
    End If
Next Cell

要查看代码有什么问题,请在debug.print Cell行之前写下Trim。它将在控制台上开始大量打印,打印的最后一行应如下所示:Error 2007或类似。

这将显示MsgBox及其工作表中包含错误的单元格:

For Each Cell In rng
    If Not IsError(Cell) Then
        Cell = Trim(Cell)
    Else
        MsgBox "Error on " & Cell.Address & " in " & Cell.Parent.Name
    End If
Next Cell