使用VBA在工作表上显示/隐藏特定的对象组

时间:2017-05-13 12:09:57

标签: vba

在我的表格上,我有: 3个设置按钮 3个菜单按钮 每个菜单按钮有6个子菜单按钮。

当我点击一个菜单按钮时:

  • 相应的子菜单按钮应该可见
  • 所有其他子菜单按钮应该是不可见的
  • 菜单按钮应保持可见
  • 设置按钮应保持可见

我使用以下命名约定: 菜单按钮:Menu_01,Menu_02,Menu_03 子菜单按钮:01_Sub1,02_Sub1,03_Sub1 ... 01_Sub6,02_Sub6,03_Sub6

我已经这样做了,所以菜单号可以用作SubMenu按钮的标志 我几乎使用以下方法使用它:

Sub OpenMenu()
Dim sObject As Shape
For Each sObject In ActiveSheet.Shapes
If Not InStr(sObject.Name, flagMenuID & "Sub") = 0 Then sObject.Visible = True
If Not InStr(sObject.Name, flagMenuID & "Sub") = 1 Then sObject.Visible = False

Next sObject

End Sub

虽然这确实显示了正确菜单的子菜单按钮并隐藏了其他子菜单按钮,但它似乎也使所有菜单按钮和设置按钮都不可见。

有人可以建议我应该如何修改此代码来纠正这个问题?我知道这可能有点令人困惑,所以如果您有任何疑问,请询问,我将很乐意为您提供帮助!

感谢您的时间和精力

0 个答案:

没有答案