弹出消息框

时间:2015-07-08 08:24:10

标签: excel vba excel-vba message

如果单元格(Price)的值大于另一个单元格(Target),我需要构建一个代码来给我一个弹出消息。 如果PRICE> TARGET然后弹出一个窗口(理想情况下是声音)。

如果我点击确定我需要向其他单元格注册“true”,或者如果我点击取消插入单元格 FALSE

我的第一个vba代码所以请表示理解,非常感谢。

Private Sub CommandButton1_Click()

Sub userinput()

Dim ireply As Integer

If Range("C6").Value > Range("E6").Value Then

ireply = MsgBox(prompt:="Price" & Range("F6").Value & " Reached target. Stop tracking ?", Buttons:=vbYesNoCancel, Title:="Tracking")

If ireply = vbYes Then

Range("B6").Value = "TRUE"

ElseIf ireply = vbNo Then

Range("B6").Value = "FALSE"

End Ifs

If Range("C7").Value > Range("E7") Then

End If

If Range("C8").Value > Range("E8") Then

End If

Exit Sub

End Sub

1 个答案:

答案 0 :(得分:0)

为了在将数据输入Excel时直接实现这一点,您需要将其放入您希望它处理的工作表的工作表模块中:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iReply As Integer

If Target.Count > 1 Then Exit Sub

If Application.Intersect(Target, Columns(3)) Is Nothing Then
Else
    If Range("C" & Target.Row).Value > Range("E" & Target.Row).Value Then
        Beep
        iReply = MsgBox("Price" & Range("F" & Target.Row).Value & " Reached target. Stop tracking ?", vbOKCancel + vbCritical, "Tracking")
        If iReply <> vbCancel Then
            Range("B" & Target.Row).Value = "TRUE"
        Else
            Range("B" & Target.Row).Value = "FALSE"
        End If
    Else
    End If
End If

End Sub