Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么每个循环在VBA中都没有定义变量?

为什么每个循环在VBA中都没有定义变量?
EN

Stack Overflow用户
提问于 2014-09-24 10:21:22
回答 2查看 4K关注 0票数 0

我已经得到了大量的答案,从斯塔克溢出,我真的很感谢你的所有信息,专家提供的!这是我第一次问问题,所以谢谢你。

我正在一个大型Excel 2010工作簿的后端运行各种VBA程序,我对当前的问题完全感到困惑。在模块中,我有一个带有For每一个循环的公共子循环,该循环迭代一个变量,该变量在工作表中加载了一系列字符串值。

当我运行这个循环时,我要么得到一个直接的编译错误“变量未定义”,然后为每个变量突出显示,要么程序运行但循环没有结束。我从字面上评论了循环中的每一件事,我仍然理解这个问题。当循环运行时,我会看到字符串值被正确地检索到for每个变量中。如果我注释掉循环,那么子运行就没有任何问题。

以下是我必须澄清的一点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim showWord as String
showWord = ""
For Each thisWord In allWords
     'showWord = CStr(thisWord)
     'MsgBox showWord
Next x

现在,我在另一个模块的其他地方有一个完全相同的循环,它总是没有问题地运行。我确实对每个变量和变量名都进行了更改,但仅此而已。

有人能帮我弄清楚这是怎么回事吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-24 10:30:48

非常确定您没有定义变量allWords,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim showWord as String
showWord = ""

dim allWords as (wtv)
allWords = (something)

'if not allWords is nothing then
  For Each thisWord In allWords
     'showWord = CStr(thisWord)
     'MsgBox showWord
  Next x
'end if
票数 0
EN

Stack Overflow用户

发布于 2016-03-23 15:50:35

循环不会结束,因为在Next x中必须是循环的相同变量,类似于这个Next ThisWord,您必须声明allWords

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim showWord as String
showWord = ""

For Each thisWord In allWords
    ....
Next thisWord
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26023828

复制
相关文章
​golang的变量定义为什么还没有python简洁?
最近在深度研究k8s和docker,期间发现源码是golang。无奈,只好乘机把golang也学了。
运维部落
2020/04/26
9920
matlabfor循环变量_matlab定义自变量区间
Matlab循环是不支持修改循环变量的,修改循环变量无效,等于没有修改。这是跟普通计算机语言最大的区别。另外,matlab的循环是包括头尾的,而一般语言都是包括头不包括尾,如python的循环,for i in range(5),是从0到4的,而不是从1到5。Matlab是从1开始的。
全栈程序员站长
2022/11/08
1.2K0
【Python】循环语句 ⑥ ( 变量作用域 | for 循环临时变量访问 | 分析在 for 循环外部访问临时变量的问题 | 在 for 循环外部访问临时变量的正确方式 )
如果需要在外部访问 for 循环的临时变量 , 建议将该 临时变量 预定义在 for 循环的外部 , 然后在后续的所有代码中可以访问该 临时变量 ;
韩曙亮
2023/10/11
7200
【Python】循环语句 ⑥ ( 变量作用域 | for 循环临时变量访问 | 分析在 for 循环外部访问临时变量的问题 | 在 for 循环外部访问临时变量的正确方式 )
关于for循环中变量定义的位置
这是我们正常习惯写的代码。同事的意思是说如果照上面那样写因为每循环一次,obj的变量就要在堆栈上分配一段空间,造成浪费。应该把obj的定义拿到for代码块的外面这样可以少分配一些内存提高效率,代码如下:
MJ.Zhou
2022/05/07
1.4K0
关于for循环中变量定义的位置
C++核心准则ES.74:尽量在循环变量初始化表达式中定义循环变量​
Limit the loop variable visibility to the scope of the loop. Avoid using the loop variable for other purposes after the loop.
面向对象思考
2020/06/03
9540
为什么Spring中每个Bean中每个Bean都要定义作用域?
前面的视频中都有提到过Spring Bean的作用域。本期视频呢,我针对Spring Bean作用域做一个详细的解答。关于Spring Bean的作用域,我一共分为两个部分来介绍。首先,介绍Spring Bean作用域的定义,然后,介绍Spring为什么要定义作用域?
Tom弹架构
2022/08/22
3050
为什么Spring中每个Bean中每个Bean都要定义作用域?
VBA对象变量
大家好,前面介绍了vba中两个主要的对象,单元格range对象和工作表worksheet对象,以及它们的属性和方法。
无言之月
2019/10/13
1.9K0
头文件为什么不能定义变量
这是因为编译器需要经过预处理、编译、汇编、连接才可以生成可执行程序,在编译器执行链接这一步骤时,就会将工程中所有的符号整合在一起,由于文件中有重名变量,于是就出现了重复定义的错误。
用户9736681
2022/05/11
1.1K0
为什么变量不可以在 switch 语句中声明定义
case 语句其实就是标签(label),就像 goto 语句那样,解决这个问题其实很简单,只需加一对大括号,以表明作用域即可,
ClearSeve
2022/02/11
7070
#PY小贴士# for 循环定义的变量,循环外可以用吗?
我们知道,在 python 中要获取一个变量的值,必须是先给它赋值过,不然就是未定义。那么这个 i,代码中没有显式的赋值,在循环体之外还可以用吗?
Crossin先生
2020/01/17
4.2K0
每个人心中都有一件白T
简单之于性格,就像白T之于时尚,不管岁月曾在你脸上留下什么痕迹,阳光里一件白T会把痕迹都抹去。 关于多福白T的由来 Dov多福是来自QQfamily的主要形象角色之一,他有着纯洁白净的皮毛,温暖治愈
腾讯ISUX
2018/06/29
3990
【SQL】小心在循环中声明变量——浅析SQL变量作用域
如果你认为这个语句跑起来没问题,那你值得看下去,会避免以后踩到【SQL变量作用域】的坑。
AhDung
2019/02/25
1.7K0
变量运算及循环变量
变量就像一个存储数据的盒子,每次设置变量的值,就会修改变量中存储的内容,就像是把盒子里旧的内容倒掉清空,再替换成新的内容。
楚客追梦
2022/11/11
1.2K0
Excel VBA基础教程——循环
Sub 过程名() i = 1 s = 0 '初始值为0可略 While i <= 100 s = s + i i = i + 1 Wend Do While i <= 100 s = s + i i = i + 1 Loop Do '第一次无条件执行 s = s + i i = i + 1 Loop While i <= 100 Do s = s + i i = i + 1 Loop Until i > 100 Do s =
林万程
2018/06/26
1.1K0
为什么不建议在 for 循环里捕捉异常?
在回答标题这个问题之前,我们先试想一下,在没有 try…catch 的情况下,如果想要对函数的异常结果进行判断,我们应该怎么做?
出其东门
2020/09/02
2.2K0
使用VBA在工作表中列出所有定义的名称
有时候,工作簿中可能有大量的命名区域。然而,如果名称太多,虽然有名称管理器,可能名称的命名也有清晰的含义,但查阅起来仍然不是很方便,特别是想要知道名称引用的区域时,如果经常要打开名称管理器查找命名区域,会非常麻烦,也浪费时间。
fanjy
2022/11/16
6.6K0
VBA程序的变量和常量
大家好,在本节就主要介绍变量和常量,主要掌握声明变量和变量赋值,变量的作用域和存活期需要理解。
无言之月
2019/10/14
1.7K0
VBA程序的变量和常量
在Laravel 的 Blade 模版中实现定义变量
有时候我们需要在 Laravel 的 Blade 模版中定义一些变量,而 Blade 却没有提供这样的方法/
用户8664418
2021/07/13
3.7K0
.c中变量必须定义在执行语句前面
int main() { int a =1;     a = 2;     int b = 3;
saintyyu
2021/11/22
1.9K0
.c中变量必须定义在执行语句前面
点击加载更多

相似问题

.next()在每个循环中都未定义

21

我在每个工作表的VBA循环中都搞砸了什么?

11

为什么在每个文件中都定义了mapStateToProps/mapDispatchToProps?

30

为什么NSString在没有@自动释放池的for循环的每个循环中都会自动发布

34

Excel VBA -因为每个循环没有在每个单元中运行。

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文