当单元格值超过100时,我需要一个弹出错误/警告消息的VBA代码。
例如,如果在B2中输入值,则F2单元格会自动更新。 B2值越高,F2值越过100,纸张变为错误。
所以,我需要在这里给出消息使用,当F2超过100并且B2应该返回到最后一个值。
我目前的代码非常基本。请帮助我通过这个。
If Sheets("200L_50°C").Range("L2").Value < 100 Then
MsgBox "No further pressure drop at higher operating temperatures", vbOKOnly, "High temperature"
更新,这是我在工作表中输入的代码。我在第一行收到错误:
Public G1Value As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("G1") Then
If Range("L2") > 100 Then
MsgBox "Error. Invalid value for G1"
Range("G1") = G1Value
Else: End If
Else: End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = Range("G1") Then
G1Value = Range("G1")
Else: End If
End Sub
答案 0 :(得分:1)
我不确定我是否收到您的问题,但似乎您可以在单元格B2中使用数据验证来阻止用户输入高于100的值。单击单元格B2,转到“数据”选项卡,然后单击关于“数据验证”。修改如下图所示的条件,并在“错误警报”选项卡上输入您希望他们在尝试输入高于100的值时看到的消息。
答案 1 :(得分:1)
坚持,我想我现在对你的问题有了更好的理解。当用户在B2中放置某些内容时,如果该更改导致单元格F2超过100,则您希望输出错误消息并将单元格B2返回到它的值。以下是您可以轻松完成的任务:
右键单击工作表标签名称,转到您所在工作表的视图代码:
然后添加此代码(如果存在重复方法,则注释掉旧代码或如果它不重要则替换它。)
Public B2Value As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("B2") Then
If Range("L2") > 100 Then
MsgBox "Error. Invalid value for B2"
Range("B2") = B2Value
Else: End If
Else: End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = Range("B2") Then
B2Value = Range("B2")
Else: End If
End Sub