在计算分数之前,请确保每个部分仅填写一个文本框

时间:2019-07-15 19:03:40

标签: excel vba userform

我有一个用户窗体,该窗体将使用按钮“是”,“否”和“不适用”来完成对员工工作的审核。每个按钮都有对应的文本框。有2个部分正在审核中,我需要确保每个部分中仅填充一个文本框-通过,失败或该部分不适用。

我的文本框名称为: TXTPaymentPass TXTPaymentFail TXTPaymentNA TXTReservePass TXTReserveFail TXTReserveNA

按钮代码很简单(每个按钮一个):

Private Sub BTNFPayment_Click()
TXTPaymentFail = "No"
End Sub

计算步骤的代码是(它计算所有内容,但当前可以填写多个文本框):

Private Sub CommandButton1_Click()
Dim c As Control, nYes As Long, nNo As Long, nNA As Long
nYes = 0
nNo = 0
nNA = 0


For Each c In Me.Controls
    If TypeName(c) = "TextBox" Then
        If c.Value = "Yes" Then nYes = nYes + 1
        If c.Value = "No" Then nNo = nNo + 1
        If c.Value = "NA" Then nNA = nNA + 1
    End If
Next c

TXTScore = Format((nYes) / (nYes + nNo + nNA), "Percent")


For Each c In Me.Controls
    If TypeName(c) = "Textbox" Then
        If c.Value = "" Then na = MsgBox("Please choose Yes, No, or N/A before continuing.", vbOKOnly, "Quarterly Audits")
    End If
Next c

End Sub

现在,我有一些代码正在检查以确保所有文本框都不为空。相反,我需要确保在每个部分(付款/储备金)中仅填写一个文本框,而且还必须至少填写一个(框不能完全为空白)。

0 个答案:

没有答案