我在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
展开
 我来答
帐号已注销
2011-03-27 · TA获得超过8613个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2811万
展开全部
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
百度网友69f374f
2011-03-27
知道答主
回答量:34
采纳率:0%
帮助的人:26.7万
展开全部
Case "112"
myacade = "外语学院"
有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ynzsvt
2011-03-27 · TA获得超过6660个赞
知道大有可为答主
回答量:1.5万
采纳率:40%
帮助的人:2597万
展开全部
8字符长度限制?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haifeistar
2011-03-27 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8651
采纳率:50%
帮助的人:6089万
展开全部
在 2003 下面测试没有发现问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式