隐藏行或列时Excel VBA中的触发器事件
当我手动隐藏行/列时,是否有方法在Excel VBA中触发事件(调用子事件) 当同一行隐藏在特定的工作表中时,我希望它隐藏在以下所有工作表中 可能吗隐藏行或列时Excel VBA中的触发器事件,excel,vba,row,hide,ribbon,Excel,Vba,Row,Hide,Ribbon,当我手动隐藏行/列时,是否有方法在Excel VBA中触发事件(调用子事件) 当同一行隐藏在特定的工作表中时,我希望它隐藏在以下所有工作表中 可能吗 提前感谢没有捕获隐藏或取消隐藏列的直接事件触发器。有一些笨拙的变通方法,在单元格中使用公式,但这些方法在使用时感觉像是一堆乱七八糟的东西,不太灵活 但是,如果使用Excel 2007或更高版本,则有一种间接方式可以捕获此事件。这是整洁和非常灵活的 修改功能区XML(如果存在):您需要能够修改功能区的customUI14.XML(对于Excel 20
提前感谢没有捕获隐藏或取消隐藏列的直接事件触发器。有一些笨拙的变通方法,在单元格中使用公式,但这些方法在使用时感觉像是一堆乱七八糟的东西,不太灵活 但是,如果使用Excel 2007或更高版本,则有一种间接方式可以捕获此事件。这是整洁和非常灵活的
customUI14.XML
(对于Excel 2010)或customUI.XML
(对于Excel 2007)<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
<commands >
<command
idMso="ColumnsHide"
onAction="Column_Hide_Macro"/>
<command
idMso="ColumnsUnhide"
onAction="Column_UnHide_Macro"/>
</commands >
</customUI>
Sub Column_Hide_Macro(control As IRibbonControl, ByRef CancelDefault)
MsgBox ("You have hidden a column")
' You may put your code here
' to check if your monitored row is hidden
CancelDefault = False ' This enables the default action to continue
End Sub
Sub Column_UnHide_Macro(control As IRibbonControl, ByRef CancelDefault)
MsgBox ("You have unhidden a column")
' You may put your code here
' to check if your monitored row is unhidden
CancelDefault = False ' This enables the default action to continue
End Sub
很好的问题-没有直接的方法(没有列隐藏类型事件afaik),但是有一个解决方法,我将在测试后发布。您使用的是Excel 2007还是更新版本?您好,下面的答案有用吗?