同时删除多个单元格会显示运行时错误13

时间:2018-02-16 10:53:56

标签: excel vba excel-vba

通过选择单个单元格进行删除没有任何问题。但是选择多个单元格然后尝试删除会给出

  

运行时错误13

git gc

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

运行时错误13是类型不匹配。错误是从以下行引出的(也可能是其他行):

sOld = .Value2

您收到错误是因为sOldString,它接受​​单个值而.Value2正在尝试返回多值变量数组。两者不兼容。 Target是表示您已删除的单元格的范围。这可能是一个单元格,也可能很多。

要解决此问题,您需要遍历Target中的每个单元格。像这样:

Private Sub Worksheet_Change(ByVal Target As Range)
    'declarations
    If Not Intersect(Target, Me.Range(sRng)) Is Nothing Then
        For Each r In Target
            With r
                'rest of code
            End With
        Next r
    End If
End Sub