为什么在VBA中每个循环都有未定义的变量
我从Stackoverflow得到了大量的答案,我非常感谢各位专家提供的所有信息!这是我第一次问问题,谢谢 我正在一个大型Excel 2010工作簿的后端运行各种VBA程序,我完全被当前问题难住了。在一个模块中,我有一个带有For-Each循环的public sub,该循环遍历一个变量,该变量在工作表中加载了一系列字符串值 当我运行这个循环时,我要么得到一个即时编译错误“Variable not defined”,并突出显示每个变量的值,要么程序运行,但循环没有结束。我已经逐字逐句地注释了循环本身中的所有内容,我仍然理解这个问题。当循环运行时,我看到字符串值被正确地检索到for each变量中。如果我注释掉了循环,那么子循环运行时没有任何问题 以下是我必须澄清的:为什么在VBA中每个循环都有未定义的变量,vba,loops,excel,Vba,Loops,Excel,我从Stackoverflow得到了大量的答案,我非常感谢各位专家提供的所有信息!这是我第一次问问题,谢谢 我正在一个大型Excel 2010工作簿的后端运行各种VBA程序,我完全被当前问题难住了。在一个模块中,我有一个带有For-Each循环的public sub,该循环遍历一个变量,该变量在工作表中加载了一系列字符串值 当我运行这个循环时,我要么得到一个即时编译错误“Variable not defined”,并突出显示每个变量的值,要么程序运行,但循环没有结束。我已经逐字逐句地注释了循环本
Dim showWord as String
showWord = ""
For Each thisWord In allWords
'showWord = CStr(thisWord)
'MsgBox showWord
Next x
现在,我在另一个模块的其他地方有了完全相同的循环,它总是毫无问题地运行。我确实更改了每个变量的变量名和变量名,但仅此而已
有人能帮我弄清楚这是怎么回事吗
谢谢。非常确定您没有定义变量allWords,如下所示
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
循环没有结束,因为在
Next x
中,必须是循环的同一个变量,类似于Next ThisWord
,并且必须声明allWords
Dim showWord as String
showWord = ""
For Each thisWord In allWords
....
Next thisWord
愚蠢的问题:您是否已经在代码的前面定义了
这个词
和所有词
?很好!最初的响应者完全没有注意到这一点(而且似乎是这样!)。