“如何修复”;运行时错误';13';:“类型不匹配”;Excel VBA中的错误?

“如何修复”;运行时错误';13';:“类型不匹配”;Excel VBA中的错误?,excel,vba,Excel,Vba,每次单元格A15更改时,我都会尝试运行2个宏 然后取消隐藏所有行 隐藏第82列中具有零值的所有行 我在我的if语句中的Hide\u Unused\u行宏中收到一个错误。我不确定如何着手解决这个问题。我已尝试将其更改为等于“”,但仍然不起作用。我是VBA新手,不确定如何修复If单元格(I,82).Value=0条件 每隔一段时间它就会运行良好,但大多数时候我都会遇到这个错误 有什么建议吗 Sub Worksheet_Change(ByVal Target As Range) If Targ

每次单元格A15更改时,我都会尝试运行2个宏

  • 然后取消隐藏所有行
  • 隐藏第82列中具有零值的所有行
  • 我在我的
    if
    语句中的
    Hide\u Unused\u行
    宏中收到一个错误。我不确定如何着手解决这个问题。我已尝试将其更改为等于“”,但仍然不起作用。我是VBA新手,不确定如何修复
    If单元格(I,82).Value=0
    条件

    每隔一段时间它就会运行良好,但大多数时候我都会遇到这个错误

    有什么建议吗

    Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$A$15" Then
            Call UnHideRows
            Call Hide_Unused_Rows
        End If
    End Sub
    
    Sub UnHideRows()
    Rows("20:258").Hidden = False
    End Sub
    
    Sub Hide_Unused_Rows()
        Dim i As Integer
        Application.ScreenUpdating = False
        For i = 20 To 257
            If Cells(i, 82).Value = 0 Then
                Rows(i).EntireRow.Hidden = True
            End If
        Next
        MsgBox "Completed"
        Application.ScreenUpdating = True
    End Sub
    

    类型不匹配

    编辑以对您的评论进行备注:

    你评论

    在调试器中,value=“Error 2015”和type=“Variant/Error”

    此错误意味着您在运行时的
    值是
    #值。您可以首先使用以下条件正确处理此事件:

     If Not IsError(Cells(i, 83).Value) Then
       ...
    

    编辑以评论您的评论:

    你评论

    在调试器中,value=“Error 2015”和type=“Variant/Error”

    此错误意味着您在运行时的
    值是
    #值。您可以首先使用以下条件正确处理此事件:

     If Not IsError(Cells(i, 83).Value) Then
       ...
    

    单元格(i,83)的值是多少。出错时的值是多少?您是在调试器中运行此操作的吗?在调试器中,value=“Error 2015”和type=“Variant/Error”。此外,上下文列表:“Sheet1.隐藏未使用的行。”我根据您的回答更新了我的答案,即
    单元格(I,83)的值。出错时的值是多少?您是否在调试器中运行此操作?在调试器中,value=“Error 2015”和type=“Variant/Error”。此外,上下文列表:“Sheet1.隐藏未使用的行”。我根据您的答复更新了我的答案