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

时间:2016-06-30 23:20:40

标签: excel vba excel-vba

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

以下是我对按钮的编码(以下列于“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”的宏(在“医疗”模块中):

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的工作基本上只是关闭任何自动过滤器(因此单击此单选按钮基本上是重置)。
此外,CommandButton1也是一个AutoFilter重置,但它会将所有数据排序到我的默认排序首选项。因为CommandButton1基本上做了OptionButton1所做的事情,而且它也进行了排序,当我按下CommandButton1时,我需要它在已经选择任何其他按钮的情况下自动选择OptionButton1。

1 个答案:

答案 0 :(得分:2)

戴维斯 您可以使用OptionButton1.Value = 1以编程方式选择一个单选按钮或另一个。如果我理解你的问题是正确的,那么这应该适合你。如果我误解了你,请告诉我。