用户表单更改百分比的 IF 语句?

IF statement for % change in userform?

我有一个子项,它显示当前 hourly/annual 薪酬与新 hourly/annual 薪酬之间的百分比差异。

Private Sub txtNewPayRate_Change()
    Const HrsPerYr As Long = 2080                      'Work Hours in Year
    Dim CurrentPayRate As Double, NewPayRate As Double
    Dim PercentChange As Double
    On Error Resume Next
    CurrentPayRate = CDbl(Me.txtCurrentPayRate)   'current hourly/annual pay
        NewPayRate = CDbl(Me.txtNewPayRate)           'new hourly/annual pay
        If NewPayRate > 100 Then
            NewPayRate = NewPayRate / HrsPerYr
        Else
            NewPayRate
        End If         'new hourly/annual pay
    PercentChange = (NewPayRate - CurrentPayRate) / CurrentPayRate
    txtPercentage.Value = Format(PercentChange, "0.00%")

    If Me.cmbHourlyAnnual = "Hourly" Then
        Me.txtNewHourlyPay = Format(NewPayRate, "0.00")
        Me.txtNewAnnualPay = CStr(NewPayRate * HrsPerYr)

    ElseIf Me.cmbHourlyAnnual = "Annual" Then
        Me.txtNewHourlyPay = Format(NewPayRate / HrsPerYr, "0.00")
        Me.txtNewAnnualPay = CStr(NewPayRate)
    End If
End Sub

发生这种情况时,我遇到了 percentchange 事故:

员工在 CurrentPayRate 中输入时薪,然后在 NewPayRate 部分输入年度数据。

示例:员工在当前工资率中输入 25 美元/小时,但随后在新工资率中输入 60,000 美元,因为他们正在转向年度数字。这允许 % 变化大约增加 1000000%。

不确定是否可以比较它并正确显示增长,就好像它是小时费率(即使输入年费率?)

由于很可能没有人的薪水超过 idk.. 5000 美元/小时,您可以添加一个 if 循环来确定条目是按小时还是按年费率:

If Newpayrate > x 'the max hourly rate you think about
 Newpayrate = Newpayrate/HrsPerYr
else 
Endif