首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >活动行的IF语句(worksheet_change)

活动行的IF语句(worksheet_change)
EN

Stack Overflow用户
提问于 2019-12-10 13:36:06
回答 1查看 222关注 0票数 0

我有一个Excel模板,其中有一个表,其中我计算了几个推荐值(列I、J& K)。然后,用户从(L列)的数据验证下拉列表中选择他们想要的值。

如果用户从最小推荐值中选择一个<= 6单元的值,我想显示一个消息框,它只告诉您“您所选的值很低”,然后继续不执行操作。

如果用户从最小推荐值中选择一个小于3个单位的值,我将显示一个消息框,说明“您所选的值是低的,选择另一个值”,并清除他们选择值的活动单元格。

  • 列I=J=偏离建议<= 6
    • 列K=偏离建议<3
    • 列L=用户选择

所以梦想场景是:

  1. 用户从推荐中选择一个大于6个单元的值,
  2. 用户从推荐中选择一个<= 6单元的值,提醒他们是关闭
  3. 用户从推荐中选择一个小于3个单元的值,清除用户的选择并告诉他们选择一个更大的值。

私有子worksheet_change(ByVal目标作为整数)

对于目标=2至1000如果单元格( target,12).Value <= Cells(.Value,9).Value然后MsgBox (“您的选择接近于recomandation") ElseIf单元(目标,12).Value

End Sub

EN

回答 1

Stack Overflow用户

发布于 2019-12-12 09:31:53

用以下代码解决了主要问题:

但仍在与最上面的一行作斗争,如果activecell =第1行,则退出。

代码语言:javascript
复制
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

结束子对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59268474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档