【发布时间】:2017-11-30 12:33:36
【问题描述】:
所以我的问题是:我在一个工作表(Sheet1)上使用了特定代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B24")
Case "Standard"
Sheets("Sheet2").Visible = False
Rows("29:47").EntireRow.Hidden = False
Case "Medium"
Sheets("Sheet2").Visible = True
Rows("29:47").EntireRow.Hidden = True
Case "High"
Sheets("Sheet2").Visible = True
Rows("29:47").EntireRow.Hidden = True
Case Else
Sheets("Sheet2").Visible = False
Rows("29:47").EntireRow.Hidden = True
End Select
End Sub
一旦 Sheet2 变得可见(基于上述),我将这段代码专门添加到 Sheet2 中:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("B14")
Case "Medium"
Rows("6:12").EntireRow.Hidden = True
Case Else
Rows("6:12").EntireRow.Hidden = False
End Select
End Sub
问题在于由 =Sheet1!B24 组成的单元格 (Sheet2) B14 不与 Sheet2 上的代码交互,因此不会隐藏/取消隐藏行。我需要物理选择 =Sheet1!B24 并在其中单击 Enter,然后这些行被隐藏/取消隐藏。请告知为什么它不会自动发生。
PS。计算操作设置为自动
谢谢
【问题讨论】:
-
我很难理解。因此,您更改了 sheet1 中的某些内容,然后根据单元格 B24 中的值执行一些操作,然后您期望发生什么?
-
一切尽在代码中。基本上,如果 Sheet2 上单元格 B14 中的值发生更改,它应该执行某些操作(如上所述)。不幸的是它没有。相反,我需要手动激活单元格 B14 并单击 Enter 启动操作。
标签: vba