嵌套IF VBA使用RIGHT功能

时间:2017-02-13 08:05:22

标签: vba excel-vba function nested-if excel

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

例如:Cell AA8目前= 117.292

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

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

如果上面为假,则添加0.03

然后需要将相反的方法应用于另一个宏。

例如:Cell 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

1 个答案:

答案 0 :(得分:0)

插入“增量”按钮:

  • 标签开发 - >插入控件 - >按钮(表单控件)

  • “画出”屏幕上的按钮

  • 点击“指定宏”对话框中的“新建”

  • {li}

    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