我在Excel的VBA编辑器中定义了一个宏函数,名字为myacademy(),在单元格调用时就出现“#Name?”
但是将函数名字改成myacade,就能得出正确的结果。我使用的是Office2010自定义函数的代码如下:PublicFunctionmyacademy(ByValstr...
但是将函数名字改成myacade,就能得出正确的结果。
我使用的是Office 2010
自定义函数的代码如下:
Public Function myacademy(ByVal strNum As String)
Dim s As String
s = Mid(strNum, 4, 3)
Select Case s
Case "110"
myacademy = "数科院"
Case "111"
myacademy = "信息学院"
Case "112"
myacade = "外语学院"
Case "113"
myacademy = "政法学院"
Case Else
myacademy = "无效的学院代码"
End Select
End Function 展开
我使用的是Office 2010
自定义函数的代码如下:
Public Function myacademy(ByVal strNum As String)
Dim s As String
s = Mid(strNum, 4, 3)
Select Case s
Case "110"
myacademy = "数科院"
Case "111"
myacademy = "信息学院"
Case "112"
myacade = "外语学院"
Case "113"
myacademy = "政法学院"
Case Else
myacademy = "无效的学院代码"
End Select
End Function 展开
展开全部
myacade = "外语学院"
这句改成
myacademy = "外语学院"
--------
另外:
1、函数第一句加上下面这个,标识为易失性函数:
Application.Volatile
2、函数内最好先用一个临时的变量存储结果, end sub前再赋值给 函数,这样改动也方便。
如下:
Public Function myacademy(ByVal strNum As String)
Application.Volatile
Dim s$, tmp$
s = Mid(strNum, 4, 3)
Select Case s
Case "110"
tmp = "数科院"
Case "111"
tmp = "信息学院"
Case "112"
tmp = "外语学院"
Case "113"
tmp = "政法学院"
Case Else
tmp = "无效的学院代码"
End Select
myacademy = tmp
End Function
这句改成
myacademy = "外语学院"
--------
另外:
1、函数第一句加上下面这个,标识为易失性函数:
Application.Volatile
2、函数内最好先用一个临时的变量存储结果, end sub前再赋值给 函数,这样改动也方便。
如下:
Public Function myacademy(ByVal strNum As String)
Application.Volatile
Dim s$, tmp$
s = Mid(strNum, 4, 3)
Select Case s
Case "110"
tmp = "数科院"
Case "111"
tmp = "信息学院"
Case "112"
tmp = "外语学院"
Case "113"
tmp = "政法学院"
Case Else
tmp = "无效的学院代码"
End Select
myacademy = tmp
End Function
展开全部
Case "112"
myacade = "外语学院"
有问题
myacade = "外语学院"
有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
8字符长度限制?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在 2003 下面测试没有发现问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询