Excel精英培训网

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

[已解决]关于是用VBA在单元格内多个数值计算且需要判断的问题,求助

[复制链接]
发表于 2015-3-8 15:48 | 显示全部楼层 |阅读模式
本帖最后由 ccc919 于 2015-3-8 15:51 编辑

请问该表达式如何加入条件判断语句,计算结果如果小于2或者等于2则输出结果为2 如果大于2则正常计算。
例如计算输出结果为 1/2/6/4 则 条件判断后最后输出结果应为 2/2/6/4 ,如计算输出结果为 2/1/1 则判断后最后输出结果为 2/2/2
Function js1(rng)
c = Split(rng, "/")
For o = 0 To UBound(c)
sj1 = Sheets("sheet1").[n33] * 0.01
    c(o) = WorksheetFunction.RoundUp(c(o) * sj1, 0)
Next
js1 = Join(c, "/")
End Function

最佳答案
2015-3-8 16:03
本帖最后由 26759761@qq.com 于 2015-3-8 16:06 编辑

这样?

Function js1(rng As Range)
c = Split(rng, "/")
For o = 0 To UBound(c)
sj1 = Sheets("sheet1").[n33] * 0.01
    c(o) = Application.Max(2, WorksheetFunction.RoundUp(c(o) * sj1, 0))
Next
js1 = Join(c, "/")
End Function
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-3-8 16:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 26759761@qq.com 于 2015-3-8 16:06 编辑

这样?

Function js1(rng As Range)
c = Split(rng, "/")
For o = 0 To UBound(c)
sj1 = Sheets("sheet1").[n33] * 0.01
    c(o) = Application.Max(2, WorksheetFunction.RoundUp(c(o) * sj1, 0))
Next
js1 = Join(c, "/")
End Function
回复

使用道具 举报

 楼主| 发表于 2015-3-8 22:11 | 显示全部楼层
26759761@qq.com 发表于 2015-3-8 16:03
这样?

Function js1(rng As Range)

恩,就是这样。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 19:16 , Processed in 0.497619 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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