vba 错误无法设置范围类的隐藏属性 错误 1004
Posted
技术标签:
【中文标题】vba 错误无法设置范围类的隐藏属性 错误 1004【英文标题】:vba error unable to set the hidden property of the range class Error 1004 【发布时间】:2019-11-07 14:26:19 【问题描述】:当您从表单获得控制时,没有问题 但如果你从工作表本身获得它,那么它实际上可以工作,但出现错误:1004 所以只需使用(On Error Resume Next)
Private Sub ComboBox1_Change()
Dim wsMon As Worksheet
Set wsMon = ThisWorkbook.Worksheets("Montag")
On Error Resume Next
Select Case ComboBox1.ListIndex
Case 0
xHide (False)
wsMon.Rows("12:25").EntireRow.Hidden = True
xHide (True)
Case 1
xHide (False)
wsMon.Rows("12:25").EntireRow.Hidden = False
wsMon.Rows("19:25").EntireRow.Hidden = True
xHide (True)
Case 2
xHide (False)
wsMon.Rows("12:25").EntireRow.Hidden = False
xHide (True)
End Select
End Sub
xHide 是一个布尔函数: 真的
Application.ScreenUpdating = True
Application.DisplayAlerts = True
或错误
Application.ScreenUpdating = False
Application.DisplayAlerts = False
【问题讨论】:
哪一行给出了错误?另外,Worksheet.Rows.EntireRow
不是完全不必要的冗余吗? (使用On Error Resume Next
通常应该是您最后尝试的事情,当完全不可避免时)
它对我有用,没有错误。
【参考方案1】:
如果我运行这个并且我的工作表受密码保护,我会得到同样的错误。尝试添加此行(如果需要,您可以重新保护它):
wksMain.Unprotect (conPassword)
另外,你不应该需要 on error resume next,如果你确实使用它,你应该在超过你需要的代码时添加 Go To 0。
【讨论】:
以上是关于vba 错误无法设置范围类的隐藏属性 错误 1004的主要内容,如果未能解决你的问题,请参考以下文章
错误 1004:范围类的自动填充方法失败 vba excel 2010
Excel VBA 2016 - 试图找到复选框的名称,无法获取值属性错误
VBA中的worksheetfunction.match属性很难