按钮在消息框关闭后,UserForm中的按钮不会重置

时间:2016-06-03 03:42:05

标签: vba excel-vba excel

这是我的第一篇文章,请原谅我,如果我不同意提交问题的规则。

我遇到一个特殊问题,即用户表单中的按钮没有重置为其状态(或者如果它被称为它的位置则关闭)。我加载了一个包含两个列表的表单 - 一个用于年份,另一个用于月份。

这些列表是从工作表中预先填充的。当用户单击“确定”时,我希望确保每个列表框中都选择了一些内容。如果没有,我的代码中的其余处理将无法进行。我在OK按钮单击的实现上检查两个列表(检查值是否为null)。如果任何列表缺少条目,则会显示一个带有“确定”按钮的简单消息框,以警告用户。

这就是问题所在。在我确定消息框并将其关闭后,用户窗体上的“确定”按钮仍处于按下状态。 Ok Button Not Reset image

我试图重新绘制表格。我似乎无法为按钮本身找到重新绘制的选项。即使按钮处于按下状态,该按钮仍然有效。它只是让用户看到已处于按下状态的按钮变得混乱。我该如何解决这个问题?

这是表格的(测试)代码:

Private Sub LoadData_Cancel_Btn_Click()
    Unload Me
End Sub

Private Sub LoadData_OK_Btn_Click()
    Dim iReturn As Integer

    If (IsNull(List_Year.Value) Or IsNull(List_Month.Value)) Then
        MsgBox "Incomplete"
        Me.Repaint
        Exit Sub
    End If

    MsgBox List_Year.Value
    MsgBox List_Month.Value

    Unload Me
End Sub

Private Sub UserForm_Initialize()
    List_Year.Clear
    List_Month.Clear

    With List_Year
        .AddItem "Test1"
    End With

    With List_Month
        .AddItem "Test1"
        .AddItem "Test2"
        .AddItem "Test3"
        .AddItem "Test4"
        .AddItem "Test5"
        .AddItem "Test6"
        .AddItem "Test7"
        .AddItem "Test8"
        .AddItem "Test9"
        .AddItem "Test10"
        .AddItem "Test11"
        .AddItem "Test12"
    End With
End Sub

0 个答案:

没有答案