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

时间:2019-06-26 22:24:44

标签: excel vba

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

  1. 取消隐藏所有行,然后
  2. 隐藏第82列中所有值为零的行

我在Hide_Unused_Rows语句中的if宏中收到错误。我不确定如何解决此问题。我尝试将其更改为等于“”,但仍然无法正常工作。我是VBA的新手,不确定如何解决If Cells (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

类型不匹配

1 个答案:

答案 0 :(得分:0)

已编辑以评论您的评论:

您评论了

  

在调试器中,值=“ Error 2015”,类型=“ Variant / Error”

此错误表示您的Value在运行时为#VALUE!。您可以先使用以下条件来正确处理此事件:

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