Foxtable(狐表)用户栏目专家坐堂 → 求助:单元格样式和区间计算问题?


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

主题:求助:单元格样式和区间计算问题?

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3211 威望:0 精华:0 注册:2019/11/3 22:21:00
求助:单元格样式和区间计算问题?  发帖心情 Post By:2021/9/2 12:00:00 [只看该作者]

求助:单元格样式和区间计算问题?
水质类别有1-6类
如何将水质最大的(差)类别自动填到【水质类别】列
代码如下:

表名:水质类别转换

(实现:水质判断以颜色显示)

 

If e.Col.Name = "ph值" Then '如果是分组行的数量列

    If e.Row("ph值") <= 9 And e.Row("ph值") >=6 Then

        e.Style = "1类"

    ElseIf e.Row("ph值") > 9 Or e.Row("ph值") < 6 And e.Row("ph值") > 0.001 Then

        e.Style = "5类"

    End If

End If

If e.Col.Name = "溶解氧" Then '如果是分组行的数量列

    If e.Row("溶解氧") < 100 And e.Row("溶解氧") >=7.5 Then

        e.Style = "1类"

    ElseIf e.Row("溶解氧") >= 6  And e.Row("溶解氧") < 7.5 Then

        e.Style = "2类"

    ElseIf e.Row("溶解氧") >= 5  And e.Row("溶解氧") < 6 Then

        e.Style = "3类"

    ElseIf e.Row("溶解氧") >= 3  And e.Row("溶解氧") < 5 Then

        e.Style = "4类"

    ElseIf e.Row("溶解氧") >= 2  And e.Row("溶解氧") < 3 Then

        e.Style = "5类"

    ElseIf e.Row("溶解氧") >= 0.001  And e.Row("溶解氧") < 2 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "高锰酸盐指数" Then '如果是分组行的数量列

    If e.Row("高锰酸盐指数") >0.0001 And e.Row("高锰酸盐指数") <= 2 Then

        e.Style = "1类"

    ElseIf e.Row("高锰酸盐指数") > 2  And e.Row("高锰酸盐指数") < =4 Then

        e.Style = "2类"

    ElseIf e.Row("高锰酸盐指数") > 4  And e.Row("高锰酸盐指数") < =6 Then

        e.Style = "3类"

    ElseIf e.Row("高锰酸盐指数") > 6  And e.Row("高锰酸盐指数") < = 10 Then

        e.Style = "4类"

    ElseIf e.Row("高锰酸盐指数") > 10  And e.Row("高锰酸盐指数") <= 15 Then

        e.Style = "5类"

    ElseIf e.Row("高锰酸盐指数") >=15  And e.Row("高锰酸盐指数") < 100 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "COD" Then '如果是分组行的数量列

    If e.Row("COD") >0.0001 And e.Row("COD") <= 15 Then

        e.Style = "1类"

        ElseIf e.Row("COD") > 15  And e.Row("COD") < =20 Then

        e.Style = "3类"

    ElseIf e.Row("COD") > 20  And e.Row("COD") < = 30 Then

        e.Style = "4类"

    ElseIf e.Row("COD") > 30  And e.Row("COD") <= 40 Then

        e.Style = "5类"

    ElseIf e.Row("COD") >40  And e.Row("COD") < 100 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "BOD5" Then '如果是分组行的数量列

    If e.Row("BOD5") >0.0001 And e.Row("BOD5") <= 3 Then

        e.Style = "1类"

        ElseIf e.Row("BOD5") > 3  And e.Row("BOD5") < =4 Then

        e.Style = "3类"

    ElseIf e.Row("BOD5") > 4  And e.Row("BOD5") < = 6 Then

        e.Style = "4类"

    ElseIf e.Row("BOD5") > 6  And e.Row("BOD5") <= 10 Then

        e.Style = "5类"

    ElseIf e.Row("BOD5") >10  And e.Row("BOD5") < 100 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "氨氮" Then '如果是分组行的数量列

    If e.Row("氨氮") >0.0001 And e.Row("氨氮") <= 0.15 Then

        e.Style = "1类"

    ElseIf e.Row("氨氮") > 0.15  And e.Row("氨氮") < =0.5 Then

        e.Style = "2类"

    ElseIf e.Row("氨氮") > 0.5  And e.Row("氨氮") < =1 Then

        e.Style = "3类"

    ElseIf e.Row("氨氮") > 1  And e.Row("氨氮") < = 1.5 Then

        e.Style = "4类"

    ElseIf e.Row("氨氮") > 1.5  And e.Row("氨氮") <= 2 Then

        e.Style = "5类"

    ElseIf e.Row("氨氮") >2  And e.Row("氨氮") < 100 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "P" Then '如果是分组行的数量列

    If e.Row("P") >0.0001 And e.Row("P") <= 0.02 Then

        e.Style = "1类"

    ElseIf e.Row("P") > 0.02  And e.Row("P") < =0.1 Then

        e.Style = "2类"

    ElseIf e.Row("P") > 0.1  And e.Row("P") < =0.2 Then

        e.Style = "3类"

    ElseIf e.Row("P") > 0.2  And e.Row("P") < = 0.3 Then

        e.Style = "4类"

    ElseIf e.Row("P") > 0.3  And e.Row("P") <= 0.4 Then

        e.Style = "5类"

    ElseIf e.Row("P") > 0.4  And e.Row("P") < 5 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "总氮" Then '如果是分组行的数量列

    If e.Row("总氮") >0.0001 And e.Row("总氮") <= 0.2 Then

        e.Style = "1类"

    ElseIf e.Row("总氮") > 0.2  And e.Row("总氮") < =0.5 Then

        e.Style = "2类"

    ElseIf e.Row("总氮") > 0.5  And e.Row("总氮") < = 1 Then

        e.Style = "3类"

    ElseIf e.Row("总氮") > 1  And e.Row("总氮") < = 1.5 Then

        e.Style = "4类"

    ElseIf e.Row("总氮") > 1.5  And e.Row("总氮") <= 2 Then

        e.Style = "5类"

    ElseIf e.Row("总氮") > 2  And e.Row("总氮") < 5 Then

        e.Style = "劣5类"

    End If

End If

If e.Col.Name = "水质类别"  Then '如果是分组行的数量列

    If e.Row("水质类别") = 1 Then

        e.Style = "1类"

    ElseIf e.Row("水质类别") = 2 Then

        e.Style = "2类"

    ElseIf e.Row("水质类别")  = 3 Then

        e.Style = "3类"

    ElseIf e.Row("水质类别") = 4 Then

        e.Style = "4类"

    ElseIf e.Row("水质类别") = 5 Then

        e.Style = "5类"

    ElseIf e.Row("水质类别") = 6 Then

        e.Style = "劣5类"

    End If

End If


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


加好友 发短信
等级:一尾狐 帖子:454 积分:3211 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2021/9/2 12:01:00 [只看该作者]

图例

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3211 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2021/9/2 12:14:00 [只看该作者]

图例
图片点击可在新窗口打开查看此主题相关图片如下:capture_20210902115644450(1).jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3211 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2021/9/2 12:18:00 [只看该作者]

如果能识别单元格样式名称就很容易解决,但不能取得单元格样式名称

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/2 13:40:00 [只看该作者]

这个没有办法,只能使用类似上面的方法,计算所有值然后取最大值

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3211 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2021/9/2 14:38:00 [只看该作者]

如何将水质最大的(差)类别自动填到【水质类别】列?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/2 14:39:00 [只看该作者]

到datacolchanged事件处理:http://www.foxtable.com/webhelp/topics/1452.htm

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3211 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2021/9/2 16:13:00 [只看该作者]

以实现,谢谢!

 回到顶部