Foxtable(狐表)用户栏目专家坐堂 → [求助]根据条件 改变单元格颜色 然后根据单元格颜色做判断


  共有3995人关注过本帖树形打印复制链接

主题:[求助]根据条件 改变单元格颜色 然后根据单元格颜色做判断

帅哥哟,离线,有人找我吗?
王小风
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:43 积分:462 威望:0 精华:0 注册:2021/9/2 16:35:00
[求助]根据条件 改变单元格颜色 然后根据单元格颜色做判断  发帖心情 Post By:2021/11/19 16:38:00 [显示全部帖子]

表 a 有两列 如果: 第一列>1 改变单元格颜色为红,第二列输入‘合格’会提示"第一列>1"
如果: 第一列<1 不改变单元格颜色,第二列输入‘合格’无提示会

 回到顶部
帅哥哟,离线,有人找我吗?
王小风
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:43 积分:462 威望:0 精华:0 注册:2021/9/2 16:35:00
  发帖心情 Post By:2021/11/19 17:08:00 [显示全部帖子]

Dim bz As DataRow

bz=DataTables("工艺标准").Find("工艺编号='" & d("排产信息_订单_工艺标准") &"'")

Select Case e.DataCol.Name

    Case "生产信息_卷头基重_a","生产信息_卷头基重_b","生产信息_卷头基重_c"

        If  (e.DataRow("生产信息_卷头基重_a")*1+e.DataRow("生产信息_卷头基重_b")*1+e.DataRow("生产信息_卷头基重_c")*1)/3 > bz("性能标准_基重_上限")*1 Then

            MessageBox.Show("请注意,卷头基重已超上限")

        ElseIf (e.DataRow("生产信息_卷头基重_a")*1+e.DataRow("生产信息_卷头基重_b")*1+e.DataRow("生产信息_卷头基重_c")*1)/3 < bz("性能标准_基重_下限")*1 Then

            MessageBox.Show("请注意,卷头基重已超下限")

        End If

End Select

Select Case e.DataCol.Name

    Case "生产信息_卷尾基重_a","生产信息_卷尾基重_c","生产信息_卷尾基重_b"

        If (d("生产信息_卷尾基重_a")*1+d("生产信息_卷尾基重_b")*1+d("生产信息_卷尾基重_c")*1)/3 > bz("性能标准_基重_上限")*1 Then

            MessageBox.Show("请注意,卷尾基重已超上限")

        ElseIf (d("生产信息_卷尾基重_a")*1+d("生产信息_卷尾基重_b")*1+d("生产信息_卷尾基重_c")*1)/3 < bz("性能标准_基重_下限")*1 Then

            MessageBox.Show("请注意,卷尾基重已超下限")

        End If

End Select

Select Case e.DataCol.Name

    Case "生产信息_抗拉强度_a","生产信息_抗拉强度_b","生产信息_抗拉强度_c"

        If (d("生产信息_抗拉强度_a")*1+d("生产信息_抗拉强度_b")*1+d("生产信息_抗拉强度_c")*1)/3>bz("性能标准_抗拉强度_上限")Then

            MessageBox.show("请注意,抗拉强度已超上限")

        ElseIf (d("生产信息_抗拉强度_a")*1+d("生产信息_抗拉强度_b")*1+d("生产信息_抗拉强度_c")*1)/3<bz("性能标准_抗拉强度_下限")Then

            MessageBox.show("请注意,抗拉强度已超下限")

        End If

End Select

Select Case e.DataCol.Name

    Case "生产信息_屈服强度_a","生产信息_屈服强度_b","生产信息_屈服强度_c"

        If (d("生产信息_屈服强度_a")*1+d("生产信息_屈服强度_b")*1+d("生产信息_屈服强度_c")*1)/3>bz("性能标准_屈服强度_上限")Then

            MessageBox.show("请注意,屈服强度已超上限")

        ElseIf (d("生产信息_屈服强度_a")*1+d("生产信息_屈服强度_b")*1+d("生产信息_屈服强度_c")*1)/3<bz("性能标准_屈服强度_下限")Then

            MessageBox.show("请注意,屈服强度已超下限")

        End If

End Select

If e.DataCol.Name="生产信息_达因值" And d("生产信息_达因值")<>"" Then

If d("生产信息_达因值")<>bz("性能标准_表面湿润度")

MessageBox.show("请注意,表面湿润度超出标准")

End If

End If

If e.DataCol.Name="生产信息_包装_管芯种类" And d("生产信息_包装_管芯种类")<>"" Then

If d("生产信息_包装_管芯种类")<>bz("包装要求_管芯种类")

MessageBox.show("请注意,管芯种类不符合要求")

End If

End If

If e.DataCol.Name="生产信息_包装_管芯长度" And d("生产信息_包装_管芯长度")<>"" Then

If d("生产信息_包装_管芯长度")*1>bz("包装要求_管芯长度_上限")*1 Or d("生产信息_包装_管芯长度")*1<bz("包装要求_管芯长度_下限")*1

MessageBox.show("请注意,管芯长度不符合要求")

End If

End If

我明白这样操作,因为这个代码比较多,所以想问下有更好的方法么?




 回到顶部
帅哥哟,离线,有人找我吗?
王小风
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:43 积分:462 威望:0 精华:0 注册:2021/9/2 16:35:00
  发帖心情 Post By:2021/11/19 17:09:00 [显示全部帖子]

这个只是DataColChanged 的代码

 回到顶部