Vba 隐藏行会打断activeX选项按钮。位于这些行上
我浏览了互联网,似乎找不到其他人有同样的问题 我有一个包含多个分组ActiveX选项框的电子表格。用户将进入电子表格并从框中选择选项,通常为“是”或“否”。代码只是隐藏了用户不必根据之前的选择回答的行。 示例代码:Vba 隐藏行会打断activeX选项按钮。位于这些行上,vba,excel,activexobject,Vba,Excel,Activexobject,我浏览了互联网,似乎找不到其他人有同样的问题 我有一个包含多个分组ActiveX选项框的电子表格。用户将进入电子表格并从框中选择选项,通常为“是”或“否”。代码只是隐藏了用户不必根据之前的选择回答的行。 示例代码: Private Sub OptionButton3_Click() 'High School Diploma YES Option Application.ScreenUpdating = False Sheets("Sheet1").Rows("18:38
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)
对控件来说非常陌生,所以不确定我是否犯了一个明显的错误。非常感谢您的帮助。我尝试了以下方法:
我有两个选项按钮在第1页的第1行。下面的代码来自sheet1的模块
我使用HideOrShowRow过程来隐藏或显示该行
两个选项按钮的右键单击>格式控制>属性>对象定位属性设置为随单元格移动和调整大小。
这就是允许控件与行一起隐藏的原因-因此我认为您一定已经这样做了
不管怎样,它对我来说还行。然而,我怀疑你对每个问题都有两个选项按钮。是和否。这两个值需要相互切换,正如我下面的代码所做的那样
请注意,一旦选项按钮中有一个勾号,您就不能单击它来取消勾号。另一个选项按钮必须这样做!ie作为我下面的代码
代码中没有这一点可能与您的问题有关
此外,每个ADo控件都有一个enabled属性。如果设置为false,用户将无法更改其值或选择控件。听起来他们可能是假的?但是怎么做
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
所以,我已经玩了几天,这是我学到的: 如果activeX按钮optionbutton、复选框等设置为随单元格移动和调整大小,则每当它所在的单元格被隐藏时,它就会被破坏。该按钮无法再单击或右键单击,并且无法以任何方式修复 我尝试了多种隐藏行的方法,使用VBA命令EntireRow.Hidden=True和使用VBA命令使用VBA RowHeigt=0物理选择行并隐藏。在所有情况下,一旦取消隐藏行且按钮再次可见,则不再可单击该行 我发现的一个解决方法是更改activeX按钮的设置,使其不随单元格移动或调整大小。然后,在使用VBA代码隐藏行时,我添加了其他代码来隐藏按钮
ActiveSheet.OLEObjects("OptionButton1").Visible = False
这并不理想,但它似乎至少给出了隐藏在其余行内容中的按钮的外观。感谢您的快速响应!我使用的activeX OptionBox是使用“开发人员”选项卡中的“插入”功能添加的。我在表单按钮上使用了actionX按钮。插入后,我右键单击这两个框,并使用组选项使它们在另一个框激活时自动切换。因此,如果我选择Yes(是),则不选择no(否),而不需要额外的代码。在我隐藏带有选项框的行之前,此功能可以完美工作。一旦取消隐藏,我将无法再选择任何一个选项框。这有意义吗?还有其他人有过这个问题的经验吗?我仍然不知道如何让activeX按钮在隐藏后工作。您描述的行为在Excel 2013中不会发生。请注意,在VBA窗口中,每个选项activex optin button对象都有一个GroupName属性。正是这一点应用于对对象进行分组,以便它们可以相互切换。您是在使用此功能,还是选择了Buton并通过选择“右键单击组”将其添加到形状组中?