我不明白为什么以下代码在模块中起作用...
# rest of codes
但是当我在另一个模块中复制粘贴相同的代码时,会显示以下错误消息:
对象变量或未设置块变量
此外,在第一个模块中,我可以使用表达式On Error GoTo NO875
Workrange.Find("875 - COMPLEMENTO IT MANUAL").Select
On Error GoTo 0
'*****errorhandler****
NO875:
Workrange.Find("280 - MEJORA V. C. ABS.").Offset(0, 1).EntireColumn.Select
Selection.insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeft
Workrange.Find("280 - MEJORA V. C. ABS.").Offset(0, 1).Value = "875 - COMPLEMENTO IT MANUAL"
,但是在另一个模块中,我需要编写xlFormatFromLeft
。
知道为什么会这样吗?
谢谢。
答案 0 :(得分:0)
在每个模块的顶部添加Option Explicit
。
这有很多好处,您将收到未声明变量的通知,调试消息将更加定制化,并且突出显示错误行。
在这种情况下,当您运行宏时,带有未声明变量的行将突出显示。请注意,变量是在各种范围内声明的,Workrange
可能是在一个模块的模块级别上声明的,而在另一个模块中没有声明。