如何使用VBA的Evaluate方法结合RoundUp函数得到结果6?
用VBA的Evaluate方法解析字符串公式并应用ROUNDUP得到结果6
要实现这个需求其实很简单,VBA的Evaluate方法可以直接解析字符串形式的Excel工作表函数,只要你的字符串公式符合Excel函数的语法要求就行,具体实现如下:
完整示例代码
Sub EvaluateExample() Dim r As String r = "ROUNDUP(11/2)" ' 这里ROUNDUP默认取整到0位小数,等价于ROUNDUP(11/2, 0) Debug.Print Evaluate(r) ' 执行后会在立即窗口输出6 End Sub
关键细节说明
Evaluate方法的核心作用就是把字符串当作Excel公式来执行,相当于在单元格里输入这个公式并计算结果。- Excel的
ROUNDUP函数如果只传入一个数值参数,默认会向上取整到整数位(即隐含小数位数参数为0),所以11/2=5.5会被向上取整为6。 - 如果你想让代码逻辑更清晰,也可以把字符串写成
"ROUNDUP(11/2, 0)",效果和原代码完全一致。
内容的提问来源于stack exchange,提问作者Diego
相关产品推荐
相关产品推荐

