为什么我在VBA中为每个循环获取Variable Undefined
我一直从Stackoverflow获得大量答案,我非常感谢您专家提供的所有信息!这是我第一次问一个问题 - 非常感谢。为什么我在VBA中为每个循环获取Variable Undefined
我在一个大的Excel 2010工作簿的后端运行了各种VBA程序,我完全无法理解我当前的问题。在一个模块中,我有一个公共子集,其中有一个For Each循环,它循环遍历一个在工作表中加载了一系列字符串值的变体。
当我运行这个循环时,我得到一个立即编译错误“变量未定义”,并且每个变量突出显示或程序运行但没有结束循环。我已经在循环中直接评论了所有内容,而且我仍然遇到这个问题。当循环运行时,我看到字符串值正确地检索到每个变量。如果我注释掉循环,那么子运行没有任何问题。
这是我必须要明确:
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
好抓!原来的响应者完全错过了(看起来似乎是OP!)。 – Jeeped 2016-03-23 23:55:10
愚蠢的问题:你已经在代码的早些时候定义过'thisWord'和'allWords'了吗? – LittleBobbyTables 2014-09-24 18:26:29