Excel - 运行时错误"1004":无法设置范围类的隐藏属性

use*_*946 6 excel vba excel-vba

我是脚本新手,我正在尝试改进现有的宏.我录制了一个宏来删除重复并将其添加到Main函数中,该函数调用其他一些函数,但是当我添加我记录的宏时,我收到此错误:

Run-time error '1004': Unable to set the hidden property of the range class
Run Code Online (Sandbox Code Playgroud)

代码看起来像

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim changed As Range
    Set changed = Intersect(Target, Range("J15"))
    If Not changed Is Nothing Then
        Range("A48:A136").EntireRow.Hidden = True
        Select Case Target.Value
            Case "Agriculture"
                Range("A48:A96").EntireRow.Hidden = False
            Case "Commercial"
                Range("A97:A136").EntireRow.Hidden = False
            Case "MDP"
                Range("A48:A61").EntireRow.Hidden = False
        End Select
        Range("J15").Select
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

And*_*own 7

一些可能的答案:

  • 您在其中一个选定的单元格中有评论
  • 您有一些不会使用文本调整大小的绘制对象
  • 您的工作表受到保护

当您在事件处理程序的第一行设置断点,然后按F8单步执行宏时,我假设它在行上崩溃:

Range("A48:A136").EntireRow.Hidden = True
Run Code Online (Sandbox Code Playgroud)