Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7095|回复: 7

[已解决]添加逻辑判断

[复制链接]
发表于 2021-1-10 23:51 | 显示全部楼层 |阅读模式
3学分
本帖最后由 lidayu 于 2021-1-14 16:07 编辑

请老师帮助,在这代码中添加一条判断,详见附件
添加判断.rar (104.57 KB, 下载次数: 3)

最佳答案

查看完整内容

ElseIf Right(Cells(r,4),1) = "M" Then k = WorksheetFunction.Ceiling(Cells(r, 9) / 100, 1) k = WorksheetFunction.Max(2, k) If k > 10 Then k = 12 k = k * 0.5 Cells(r,13) = Format(Val(Cells(r,8)) * Val(Cells(r,10)) * k / 1000,"0.00")&"m" 祝順心,南無阿彌陀佛!
发表于 2021-1-10 23:51 | 显示全部楼层    本楼为最佳答案   
lidayu 发表于 2021-1-14 14:26
zjdh老师您好,代码经过另一个老师提示,我把写成如下,请老师帮我看看红框部分能否简洁点。

ElseIf Right(Cells(r,4),1) = "M" Then

k = WorksheetFunction.Ceiling(Cells(r, 9) / 100, 1)
k = WorksheetFunction.Max(2, k)
If k > 10 Then k = 12
k = k * 0.5

Cells(r,13) = Format(Val(Cells(r,8)) * Val(Cells(r,10)) * k / 1000,"0.00")&"m"

祝順心,南無阿彌陀佛!

评分

参与人数 1学分 +2 收起 理由
lidayu + 2

查看全部评分

回复

使用道具 举报

发表于 2021-1-14 13:21 | 显示全部楼层
If InStr(",路延石,花线,踢脚线,栏杆,开槽,开罗马槽,背钢筋,磨边,", "," & Cells(r, 4) & ",") Or InStr("M", Right(Cells(r, 4), 1)) Then

评分

参与人数 1学分 +2 收起 理由
lidayu + 2 感谢帮助

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-1-14 14:26 | 显示全部楼层
本帖最后由 lidayu 于 2021-1-14 14:28 编辑
zjdh 发表于 2021-1-14 13:21
If InStr(",路延石,花线,踢脚线,栏杆,开槽,开罗马槽,背钢筋,磨边,", "," & Cells(r, 4) & ",") Or InStr("M ...

zjdh老师您好,代码经过另一个老师提示,我把写成如下,请老师帮我看看红框部分能否简洁点。
QQ截图20210114142551.jpg
回复

使用道具 举报

 楼主| 发表于 2021-1-14 15:13 | 显示全部楼层
cutecpu 发表于 2021-1-14 14:56
ElseIf Right(Cells(r,4),1) = "M" Then

k = WorksheetFunction.Ceiling(Cells(r, 9) / 100, 1)

老师您好,完美实现,老师好强大,感谢您的帮助。

评分

参与人数 1学分 +2 收起 理由
cutecpu + 2 不客氣。祝順心,南無阿彌陀佛!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-1-14 18:05 | 显示全部楼层
本帖最后由 lidayu 于 2021-1-14 18:45 编辑
cutecpu 发表于 2021-1-10 23:51
ElseIf Right(Cells(r,4),1) = "M" Then

k = WorksheetFunction.Ceiling(Cells(r, 9) / 100, 1)

老师您好,如果是这样图片这样(200进制)代码要怎么调整,请指教。
是把k = WorksheetFunction.Ceiling(Cells(r, 9) / 100, 1)红色的1表示10进制,我改为2对吗?

333.jpg

回复

使用道具 举报

发表于 2021-1-14 19:45 | 显示全部楼层
lidayu 发表于 2021-1-14 18:05
cutecpu老师您好,如果是这样图片这样(200进制)代码要怎么调整,请指教。
是把k = WorksheetFunction. ...

k = WorksheetFunction.Ceiling(Cells(r, 9) / 200, 1)
If k > 5 Then k = 6
Cells(r,13) = Format(Val(Cells(r,8)) * Val(Cells(r,10)) * k / 1000,"0.00")&"m"


祝順心,南無阿彌陀佛!

评分

参与人数 1学分 +2 收起 理由
lidayu + 2 学习了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-1-14 20:00 | 显示全部楼层
cutecpu 发表于 2021-1-14 19:45
k = WorksheetFunction.Ceiling(Cells(r, 9) / 200, 1)
If k > 5 Then k = 6
Cells(r,13) = Format(Val ...

老师您好,感谢您的帮助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 12:39 , Processed in 0.502411 second(s), 18 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表