我在列A的单元格中有从单元格A1开始的变量值。如果目标单元格中的值等于12,并且等于13,我想写一个VB代码来弹出不同的消息框。但不到12个就不需要弹出按摩盒了。 A列中的细胞具有与同一片材中的细胞相关的配方。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A24:A300")) = 13 Then
MsgBox "add 1 into the existing Forfeited PH value?"
End If
If Intersect(Target, Range("A24:A300")) = 14 Then
MsgBox "add 2 into the existing Forfeited PH value?"
End If
End Sub
答案 0 :(得分:0)
好的,所以我想我理解你的问题是说如果单元格被更改为大于12的任何东西,你需要触发消息框。这将是代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:A300")) > 12 Then
MsgBox "add " & Target.value - 12 & " into the existing Forfeited PH value?"
End If
End Sub
这是基于您在消息框中的现有消息...我根据消息假设增加ph值会降低数量,所以数字可能是酸度?而不管。这应该得到你正在寻找的结果。事实上,如果你不想将它限制在300行,你可以把你的范围设为" A:A"并且您可以选择整个列作为您的字段。 好的,在审核了您的电子表格之后,问题是您实际上并没有更改目标,因此所有目标代码都没有用...请使用下面的代码,该代码应该适用于您在电子邮件中发送给我的表格。并确保您当然将文件另存为.xlsm文件。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo eSub
If (Worksheets("2015").Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 5)) - 12 - Worksheets("2015").Range(Cells(ActiveCell.Row, 6), Cells(ActiveCell.Row, 6))) > 0 Then
MsgBox "add " & Worksheets(1).Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 5)) - 12 & " into the Forfeited PH value?"
End If
eSub:
End Sub