嵌套 IF VBA 使用 RIGHT 函数

Nested IF VBA using RIGHT function

我需要制作两个宏按钮,分别根据单元格的十进制值增加和减少单元格的值。

例如:单元格 AA8 当前 = 117.292

如果小数点后的 3 位数字(右 3)= 317,则将 0.683 添加到单元格。

如果以上为假,则检查最后一位(右 1)是否 = 0 或 5,如果为真,则 +0.02

如果以上为假则加0.03

然后需要将相反的应用到另一个宏。

例如:单元格 AA8 当前 = 117.292

如果小数点后3位(右3)=000则单元格减去0.683

如果以上为假,则检查最后一位(右 1)是否 = 0 或 5,如果为真,则 -0.03

如果以上为假则减去 0.02

我试过的代码

Sub TEST_UP()
If Right(aa8, 3) = "317" Then Range("aa8").Value = Range("aa8").Value + 0.683
Else
    If Right(aa8, 1) = "0 OR 5" Then Range("aa8").Value = Range("aa8").Value + 0.02
    Else
        Range("aa8").Value = Range("aa8").Value + 0.03
    End If
End If
End Sub

插入 "increment" 按钮:

  • 选项卡开发->插入控件->按钮(表单控件)

  • "draw" 屏幕上的按钮

  • 单击 "Assign macro" 对话框中的 "New"

  • Sub ...()End Sub 语句之间键入以下内容:

    With Range("AA8")
        Select Case True
            Case Format(Right(.Text, Len(.Text) - InStrRev(.Text, Application.DecimalSeparator)), "000") = "317"
                .Value = .Value + 0.683
            Case Right(.Text, 1) = 1, Right(.Text, 1) = 5
                .Value = .Value + 0.02
            Case Else
                .Value = .Value + 0.03
        End Select
    End With