【问题标题】:Activex Combobox Not Selectable After Rows Unhidden行取消隐藏后 Activex 组合框不可选择
【发布时间】:2020-02-03 15:44:42
【问题描述】:

我已经搜索了一段时间,但没有找到解决问题的方法。我在工作表上有几个 activex 组合框。瞬间在第 1-5 行中有 5 个组合框。用户单击链接到用户表单的按钮,该用户表单将根据用户输入隐藏或取消隐藏 5 行。使用 vba 隐藏 5 行不是问题。我面临的问题是当 5 行未隐藏时,组合框是不可选择的。我的意思是用户无法选择或开始在其中输入任何内容。它们是可见的,但几乎就像一个不可见的物体在它们上方,因此用户无法选择它们。

复制工作表或选择“设计模式”并稍微移动框,组合框可以再次选择。我不想继续复制工作表,而且我还没有找到将组合框准确移动到设计模式之外的方法。下面是我试图用来移动盒子的 vba 代码,但使用 -11 和 11 只会将盒子向上移动两次。

任何人都知道为什么 activex 组合框在它们所在的行变得不隐藏或有解决方案后会被“锁定”吗?

ActiveSheet.Shapes("ComboBox1").IncrementTop 11

【问题讨论】:

  • 如果在取消隐藏行的代码中添加一行Debug.Print ActiveSheet.Shapes("ComboBox1").Enabled 会有什么结果?
  • 感谢您的回复,使用该代码,我得到运行时错误 438“对象不支持此属性或方法”。
  • 我无法复制这种行为。我最好不要分享隐藏和取消隐藏行的代码。
  • 下面是我的代码,非常基础。在 excel 功能区中使用按 + 和 - 选项分组时,我遇到了同样的问题。 Private Sub generic_g_Click() ActiveSheet.Rows("39:58").EntireRow.Hidden = True Unload Me End Sub
  • 我仍然无法复制它。你为此使用用户表单吗?

标签: excel vba combobox activex


【解决方案1】:

我在使用 Excel 2019 时遇到了完全相同的问题。

我不知道原因,但我找到了一个可行的解决方案。

首先,还要声明我的具体问题:

我有一个 activex 下拉列表,如果选择“选项 1”,它会隐藏许多行以及 ComboBox1 ,但如果选择“选项 2”,则它会显示这些行和 Combobox1。 因此,当在“选项 1”之后调用“选项 2”时,所需的行是可见的,而 ComboBox1 是可见的但不可选择。

我的解决方案是在下拉列表的代码中添加一个位置声明,以防选择“选项 2”。如下:

ComboBox1.Top = 75  # or wherever you want it to be (trial&error)
ComboBox1.Left = 410 # or wherever you want it to be (trial&error)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多