【发布时间】:2018-12-19 14:35:29
【问题描述】:
我有一个工作簿,其中包含通过 VBA 打开其他工作簿的按钮。
我的理解是这个初始工作簿(我们称之为 Hub 工作簿),当我在其中时,它既是 ThisWorkbook 又是 ActiveWorkbook。
通过其中一个按钮打开另一个工作簿时,新打开的工作簿变为 ActiveWorkbook。
当我再次点击 Hub 时,它再次变为 ActiveWorkbook。
我想执行一个操作,只有当 Hub 恢复为活动工作簿的状态时。
我尝试通过在工作表上执行操作来执行此操作,但如果它是唯一的工作表并且我只是从另一个工作簿中单击它,则不会执行此操作。例如,如果我有两个工作表并单击返回此工作表,则可以。
Private Sub Worksheet_Activate()
MsgBox "Worksheet Reactivated"
End Sub
我似乎无法让它按我的要求工作,但我确信一定有某种方法可以做到这一点。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
您是否正在寻找Workbook Activate 活动?
-
我已经看到了,但我认为这不是我需要的。那就是告诉工作簿变得活跃。我想要的是在达到活动状态后做一些事情。用户在此工作簿中主动单击即可达到此状态。
-
@Satkin2 不是这样,它是一个事件,只要工作簿变为活动状态就会发生。
-
Workbook.Activate与提到的事件之间存在差异。 事件“在激活工作簿、工作表、图表工作表或嵌入图表时发生。” -
我明白我误解了它。使用下面的答案对其进行了排序。谢谢。
标签: excel vba excel-2013