比较VBA中的百分比值
我有一个带有2个文本框和标签的用户表单。文本框用于插入十进制值。标签角色是显示第1个值除以第1个值的结果(文本框) 我试图验证插入的值是否正确。如果标签错误。标题将变为红色 我有这样一个代码:比较VBA中的百分比值,vba,excel,format,compare,Vba,Excel,Format,Compare,我有一个带有2个文本框和标签的用户表单。文本框用于插入十进制值。标签角色是显示第1个值除以第1个值的结果(文本框) 我试图验证插入的值是否正确。如果标签错误。标题将变为红色 我有这样一个代码: If Me.netto.Value = "" And Me.vat.Value = "" Or Me.vat.Value = "" Or Me.netto.Value = "" Then Else Procent_check.Caption = FormatPercent(CDbl(Me.vat) /
If Me.netto.Value = "" And Me.vat.Value = "" Or Me.vat.Value = "" Or Me.netto.Value = "" Then
Else
Procent_check.Caption = FormatPercent(CDbl(Me.vat) / CDbl(Me.netto), 2)
If Procent_check.Caption >= 27 Or Procent_check.Caption <= 15 Then Else: Procent_check.ForeColor = vbRed
End If
FormatPercent
以格式“20%”返回字符串,您不能将此字符串与数字合并
试试这个:
Dim res As Double
If Me.netto.Value <> "" And Me.vat.Value <> "" And Me.netto.Value <> 0 _
And IsNumeric(Me.netto.Value) And IsNumeric(Me.vat.Value) Then
res = CDbl(Me.vat) / CDbl(Me.netto)
Procent_check.Caption = FormatPercent(res, 2)
If res >= 0.27 Or res <= 0.15 Then
Procent_check.ForeColor = vbBlack
Else
Procent_check.ForeColor = vbRed
End If
Else
Procent_check.Caption = ""
End If
Dim res为双精度
如果Me.netto.Value“”和Me.vat.Value“”和Me.netto.Value 0_
然后是IsNumeric(Me.netto.Value)和IsNumeric(Me.vat.Value)
res=CDbl(增值税)/CDbl(净额)
Procent\u check.Caption=格式百分比(分辨率,2)
如果res>=0.27或res谢谢,它会工作!我不需要isnumeric,因为textbox可以在多种情况下使用不同的代码进行验证:)很高兴它可以帮助您:)如果您需要,可以删除isnumeric
部分,我只是为了可靠性添加了它:)是的,我这样做了。只有一件事让我好奇。当我得到15%或27%时,它会变成红色,而此时它应该保持黑色。当它是15,01%或26,9%时,它不会发生……你能解释一下什么样的标签应该是黑色的,什么样的标签应该是红色的吗?更改如果轮数(res,2)>=0.27或轮数(res,2)0.27或轮数(res,2)<0.15,则…现在它是完美的:)谢谢。
Dim res As Double
If Me.netto.Value <> "" And Me.vat.Value <> "" And Me.netto.Value <> 0 _
And IsNumeric(Me.netto.Value) And IsNumeric(Me.vat.Value) Then
res = CDbl(Me.vat) / CDbl(Me.netto)
Procent_check.Caption = FormatPercent(res, 2)
If res >= 0.27 Or res <= 0.15 Then
Procent_check.ForeColor = vbBlack
Else
Procent_check.ForeColor = vbRed
End If
Else
Procent_check.Caption = ""
End If