EXCEL VBA:如何在按下命令button时将单选button重置为默认select?

我在尝试确定如何在单击“CommandButton1”时将单选button重置为“OptionButton1”时遇到一些困难。

这是我的button编码(以下列出“Sheet3”代码):

Private Sub CommandButton1_Click() ' MED Tab - Sort Button ' Returns view back to default, then sort data On Error Resume Next Call Medical.MED_Sort End Sub Private Sub OptionButton1_Click() ' MED Tab - On Error Resume Next ActiveSheet.AutoFilterMode = False End Sub Private Sub OptionButton2_Click() ' MED Tab - Show Verified Only On Error Resume Next ActiveSheet.AutoFilterMode = False Call Medical.VRFD_ONLY Call Module1.FirstVisibleCell End Sub Private Sub OptionButton3_Click() ' MED Tab - Show NO Scores On Error Resume Next ActiveSheet.AutoFilterMode = False Call Medical.No_Scores Call Module1.FirstVisibleCell End Sub Private Sub OptionButton4_Click() ' MED Tab - Show With Scores On Error Resume Next ActiveSheet.AutoFilterMode = False Call Medical.With_Scores Call Module1.FirstVisibleCell End Sub 

这里是“CommandButton1”的macros(在“医疗”模块中):

 Sub MED_Sort() ' ' MED_Sort Macro ' ' ActiveSheet.AutoFilterMode = False Columns("A:I").Select ActiveWorkbook.Worksheets("Med").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Med").Sort.SortFields.Add Key:=Range("H:H"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Med").Sort.SortFields.Add Key:=Range("F:F"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Med").Sort.SortFields.Add Key:=Range("D:D"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Med").Sort.SortFields.Add Key:=Range("B:B"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Med").Sort .SetRange Range("A:I") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub 

所以在第一个代码块中,你可以看到,基本上OptionButton1的工作就是closures任何自动filter(所以点击这个单选button基本上是一个复位)。
此外,CommandButton1也是一个AutoFilter重置,但它会将所有数据sorting到我的默认sorting首选项。 因为CommandButton1基本上做的是OptionButton1所做的事情,所以加上它也会sorting,当我按下CommandButton1时,我还需要它自动selectOptionButton1,如果其他button已经被选中的话。

戴维斯,您可以使用OptionButton1.Value = 1来可编程地select一个单选button或另一个。 如果我正确地理解了你的问题,这应该为你做。 如果我误解了你,请告诉我。