Excel工作表名称中的大写更改

时间:2018-07-06 11:00:43

标签: excel vba excel-vba

我有一些excel vba代码,它们按对象名称引用工作表:

price = wks_PRICE.Range("A1")

我的问题是我们现在将所有工作表名称都更改为camelcaps,因此工作表对象现在称为“ wks_Price”。

但是excel仍然会自动将代码中的所有内容都大写回原始的大写,然后无法运行。

即。我将输入代码:

price = wks_Price.Range("A1")

,然后vba会自动将其更改回

price = wks_PRICE.Range("A1")

即使不再定义“ wks_PRICE”。

然后它将崩溃,并显示“编译错误:未定义变量”

有关如何解决的任何想法? (除了将所有工作表对象的名称改回来)

3 个答案:

答案 0 :(得分:2)

使用所需的名称声明变量工作表wks_Price,VBE会自动更正所有出现的变量以明确声明它的方式。如果确实已将其更改为CAPS,则意味着您已在某个位置声明了此变量(搜索模块/项目)。

答案 1 :(得分:2)

在代码中搜索类似的内容:

  

设置wks_Price = Activeworkbook.sheets(“价格”)

如果找不到类似的内容,则将其添加=)

答案 2 :(得分:1)

我发现的答案:

在对象属性窗口中将对象名称更改为其他名称。例如。

wks_Price => wks_Price1

稍等片刻。然后改回来。

wks_Price1 => wks_Price

我认为,如果仅更改大小写,那么excel不会意识到对象已更改名称,而是继续将代码更正为旧名称。然后由于它不再定义该对象名称而在运行时崩溃。