首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不结束函数的VBA函数分配

不结束函数的VBA函数分配
EN

Stack Overflow用户
提问于 2015-07-27 19:55:31
回答 1查看 475关注 0票数 2

细节,细节

我在VBA中有以下各种功能和子类。

IsBlank

我的第一个函数IsBlank检查一个值:它执行一个MsgBox,如果该值为空,则返回True。如果不是空白,IsBlank将返回False。这个函数给出了预期的结果。

DoStuff1

我的下一个函数--让我们称之为DoStuff1--应该会自动返回False,如果IsBlankTrue的话。所以一开始我有:

代码语言:javascript
运行
复制
If (IsBlank = True) Then
MsgBox "Yes, it does recognize there's a blank..." '<--It gets here...
DoStuff1 = False '<-- But this doesn't end the function.
'Exit Function <-- If I uncomment this, it works. But I shouldn't need it.
End If

这个If语句后面的代码仍然在运行。

Dependent Procedures

我有许多使用DoStuff1的子过程。在开始时,我包括:

代码语言:javascript
运行
复制
If (DoStuff1 = False) Then
MsgBox "No, it doesn't get here..."
Exit Sub  '<--It doesn't exit
End If

然而,这些潜艇跳过了这一步,没有将DoStuff1视为False

总结一下

因此,无疑有两个相互关联的问题:

  1. DoStuff1不会在赋值时结束。
  2. 引用DoStuff1的子引用不承认DoStuff1返回指定的值。

对于我做错了什么有什么想法.?不应该给一个VBA函数赋值总是结束这个函数?

注意:是的,我意识到我可以组合这些函数,但是如果我想的话,应该允许我编写漂亮的代码,对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 19:59:33

您会问:“不应该给VBA函数赋值,总是结束函数?

No,分配函数返回值从不结束该函数。只有Exit FunctionEnd Function才能做到这一点(或错误)。

这就是你做错的事。分配函数和返回是完全不同的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31662101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档