隐藏行破坏了activeX选项button。位于这些行上

我search了互联网,似乎无法find其他人有这个相同的问题。

我有一个包含多个分组的ActiveX选项框的电子表格。 用户需要下载电子表格,并从方框中select选项(通常是“否”)。 代码只是隐藏用户根据以前的select不应该回答的行。 示例代码:

Private Sub OptionButton3_Click() 'High School Diploma YES Option Application.ScreenUpdating = False Sheets("Sheet1").Rows("18:38").Hidden = True Application.ScreenUpdating = True End Sub Private Sub OptionButton4_Click() 'High School Diploma NO Option Application.ScreenUpdating = False Sheets("Sheet1").Rows("18:38").Hidden = False Application.ScreenUpdating = True End Sub 

我的问题是,无论何时我取消隐藏这些行中的一个(例如,用户将“是”更改为“否”),以前隐藏的activeX选项框现在是不可点击的,并且随后不可用。 任何人有任何想法是什么原因造成这个以及如何解决它?

我甚至在隐藏行之前独立地隐藏了控制盒,但是我得到了相同的结果

 (ActiveSheet.Shapes.Range(Array("Group 1", "Group 2", "Group 3")).Visible = False) 

相当新的控制,所以不知道如果我在这里犯了一个明显的错误。 任何帮助是极大的赞赏。

所以,我已经玩了几天,这是我所学到的:

如果一个activeXbutton(optionbutton,checkbox等)被设置为“用单元格移动和resize”,那么只要它所在的单元格被隐藏,它就会被破坏。 该button不再能够被点击(或右击)并且不能以任何方式被修复。

我已经尝试了多种隐藏行的方法(使用VBA命令“EntireRow.Hidden = True”和使用vba命令“使用VBA RowHeigt = 0隐藏行”)来物理select右键单击和隐藏的行。实例,一旦该行被隐藏并且该button再次可见,则不再可点击。

我find的解决方法是将activeXbutton的设置更改为“不要移动或使用单元格大小”。 然后,当用VBA代码隐藏一行时,我添加了额外的代码来隐藏button

 ActiveSheet.OLEObjects("OptionButton1").Visible = False 

这是不理想的,但它似乎至less给出了与行的其余内容隐藏的button的外观。

我试过这个:

我在sheet1的第一行有两个选项button。 下面的代码来自sheet1的模块。

我使用了HideOrShowRow来隐藏或显示行。

两个选项button的右键单击>格式控制>属性>对象定位属性设置为“使用单元格移动和大小”。
这是什么让控制隐藏与行 – 所以我认为你一定已经做到了这一点。

无论如何,它对我来说确实很好。 但是,我怀疑你有两个选项button,每个问题。 一个是和一个否。 这些需要切换每个其他的价值,因为我的代码如下。

请注意,一旦选项button中有一个“打勾”,就不能点击它来取消选中。 另一个选项button必须这样做! (即我的代码如下)

在你的代码中没有这个可能与你的问题有关。

另外,每个ADo控件都有一个启用的属性。 如果设置为false,用户将无法更改其值或select控件。 这听起来像是他们可能变成了假的? 但是怎么样!

 Private Sub Q1_no_Click() MsgBox "hi" Me.Q1_No.Value = Not Me.Q1_yes.Value End Sub Private Sub Q1_yes_Click() Me.Q1_yes.Value = Not Me.Q1_No.Value End Sub Sub HideOrShowRow() Me.Range("A1").EntireRow.Hidden = Not Me.Range("A1").EntireRow.Hidden End Sub