我有一个Excel模板,其中有一个表,其中我计算了几个推荐值(列I、J& K)。然后,用户从(L列)的数据验证下拉列表中选择他们想要的值。
如果用户从最小推荐值中选择一个<= 6单元的值,我想显示一个消息框,它只告诉您“您所选的值很低”,然后继续不执行操作。
如果用户从最小推荐值中选择一个小于3个单位的值,我将显示一个消息框,说明“您所选的值是低的,选择另一个值”,并清除他们选择值的活动单元格。
所以梦想场景是:
私有子worksheet_change(ByVal目标作为整数)
对于目标=2至1000如果单元格( target,12).Value <= Cells(.Value,9).Value然后MsgBox (“您的选择接近于recomandation") ElseIf单元(目标,12).Value
End Sub
发布于 2019-12-12 09:31:53
用以下代码解决了主要问题:
但仍在与最上面的一行作斗争,如果activecell =第1行,则退出。
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column <> 11 Then
Exit Sub
Else
If ActiveCell.Offset(-1, -1).Value > 0 And ActiveCell.Offset(-1, -1).Value <= 3 Then
MsgBox "Your selected value are low", vbInformation
Exit Sub
ElseIf ActiveCell.Offset(-1, -1).Value >= 3.1 Then
MsgBox "your selected value are to low." & vbCrLf & "The value will automatically be set to minimum.", vbCritical
ActiveCell.Offset(-1, 0).Value = ActiveCell.Offset(-1, -2).Value
End If
End If结束子对象
https://stackoverflow.com/questions/59268474
复制相似问题