Excel – 运行时错误“1004”:无法设置范围类的隐藏属性
我不熟悉脚本,我正在尝试改进现有的macros。 我logging了一个macros来删除重复,并将其添加到调用一些其他函数的主函数,但是当我添加我logging的macros时出现此错误:
Run-time error '1004': Unable to set the hidden property of the range class
代码看起来像
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
一些可能的答案:
- 您在其中一个选定的单元格中留言
- 你有一些绘制的对象,不用文字resize
- 您的工作表受到保护
当您在事件处理程序的第一行上设置一个断点,然后按F8来逐句通过macros,我假设它崩溃在行上:
Range("A48:A136").EntireRow.Hidden = True
尝试这个 :)
Private Sub Worksheet_Change(ByVal Target As Range) ActiveWorkbook.Unprotect "password_here" 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 ActiveWorkbook.Protect "password_here" End Sub
这应该为你工作:)