【发布时间】: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通常应该是您最后尝试的事情,当完全不可避免时) -
它对我有用,没有错误。
标签: excel vba ms-access excel-formula