excel vba 函数

来源:百度知道 编辑:UC知道 时间:2024/05/13 03:22:00
以下代码:
Function he(a)
If a > 1000 Then
he = Value(Mid(a, 1, 1)) + Value(Mid(a, 2, 1)) + Value(Mid(a, 3, 1)) + Value(Mid(a, 4, 1))
ElseIf 100 <= a < 1000 Then
he = Value(Mid(a, 1, 1)) + Value(Mid(a, 2, 1)) + Value(Mid(a, 3, 1))
ElseIf 10 <= a < 100 Then
he = Value(Mid(a, 1, 1)) + Value(Mid(a, 2, 1))
he = a
End If
End Function
提示:
编译错误:
子程序或函数未定义
第三行的Value为蓝色

VBA没有Value()函数。应该是VAL()

首先啊,我觉得你这个程序还可以简化一些,怎么不用循环呢?
然后就是你的变量 a 是数字,而 mid 是取文本的,那么用它取了数字数据的第几位之后,能不能转化为数字呢?估计问题就是出在你没有把 a 转化为文本,还有就是我记得好像value 不对吧。应该是 val 吧