用VBA编写当EXCEL中单元格等于某值时,如何实现用对话框提示?
答案:2 悬赏:0 手机版
解决时间 2021-04-05 21:20
- 提问者网友:杀手的诗
- 2021-04-05 00:21
用VBA编写当EXCEL中单元格等于某值时,如何实现用对话框提示?
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-04-05 01:05
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, 7) <= 0 Then
MsgBox ("错误")
ElseIf Cells(Target.Row, 7) <= 100 Then
MsgBox ("补仓")
End If
End Sub追问好像不行
If Cells(Target.Row, 7) <= 0 Then
MsgBox ("错误")
ElseIf Cells(Target.Row, 7) <= 100 Then
MsgBox ("补仓")
End If
End Sub追问好像不行
全部回答
- 1楼网友:爱难随人意
- 2021-04-05 01:41
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("G" & Target.Row) <= 0 And Range("G" & Target.Row) <> "" Then MsgBox ("错误") Else If Range("G" & Target.Row).Value <= 100 And Range("G" & Target.Row) <> "" Then MsgBox ("补仓")
End Sub
补充上午那个答案……你修改某一行的值而使得该行的G列值变化,才会提示追问可以了,谢谢,再问一下,如果现在的VBA是在sheet1的,用什么VBA可以我任点sheet1的单元格,sheet2自动后台运行刷新,可认吗?追答把上面所有的range前面加sheets("sheet1")或者sheets("sheet2")之类的追问刚才的VBA好像没有达到预期的效果,现在只要G列有数据后,对应的行每输入一个数都会有弹出,但我要的是只监控G列的数作弹出对话。而且不受G列公式的影响。。。
就好像G1=V1+S1。。。。只要V1或S1变时,G1的值达到时才有弹出,而不是在输入V1或S1时变有弹出。。。追答Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 21 Or Target.Column = 22 Then
If Range("G" & Target.Row) <= 0 And Range("G" & Target.Row) <> "" Then MsgBox ("错误") Else If Range("G" & Target.Row).Value <= 100 And Range("G" & Target.Row) <> "" Then MsgBox ("补仓")
End If
End Sub
这样子看看追问可能是我没有表达清楚,我主要的是监控某一列中某一个单元的变化情况,如V1单元格,可能是通过A1vlookup到sheet2中得到V1的数据进行判断的,明白我的意思吗?
If Range("G" & Target.Row) <= 0 And Range("G" & Target.Row) <> "" Then MsgBox ("错误") Else If Range("G" & Target.Row).Value <= 100 And Range("G" & Target.Row) <> "" Then MsgBox ("补仓")
End Sub
补充上午那个答案……你修改某一行的值而使得该行的G列值变化,才会提示追问可以了,谢谢,再问一下,如果现在的VBA是在sheet1的,用什么VBA可以我任点sheet1的单元格,sheet2自动后台运行刷新,可认吗?追答把上面所有的range前面加sheets("sheet1")或者sheets("sheet2")之类的追问刚才的VBA好像没有达到预期的效果,现在只要G列有数据后,对应的行每输入一个数都会有弹出,但我要的是只监控G列的数作弹出对话。而且不受G列公式的影响。。。
就好像G1=V1+S1。。。。只要V1或S1变时,G1的值达到时才有弹出,而不是在输入V1或S1时变有弹出。。。追答Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 21 Or Target.Column = 22 Then
If Range("G" & Target.Row) <= 0 And Range("G" & Target.Row) <> "" Then MsgBox ("错误") Else If Range("G" & Target.Row).Value <= 100 And Range("G" & Target.Row) <> "" Then MsgBox ("补仓")
End If
End Sub
这样子看看追问可能是我没有表达清楚,我主要的是监控某一列中某一个单元的变化情况,如V1单元格,可能是通过A1vlookup到sheet2中得到V1的数据进行判断的,明白我的意思吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯