1004方法对象'_Worksheet'的'范围'失败

以下赋值语句位于窗体上的命令button的代码中:

Range("AvailabilityDataModified").Value = "No" 

AvailabilityDataModified是名为“Controls”的工作表上的单细胞命名范围。 这个语句正确执行,没有错误。

我还有三个以下语句(与上面的几乎相同)存在于多个事件处理程序的工作表代码中:

 Range("AvailabilityDataModified").Value = "Yes" 

我的问题是代码的第二个实例的3次出现生成对象“_Worksheet”的1004方法的'范围'失败的错误,而第一次没有。 这可能是一个范围的问题; 然而,我不相信你需要任何额外的参考信息时,分配一个值的命名范围。 在这一点上,我感到茫然。

使用

 Worksheets("Controls").Range("AvailabilityDataModified").Value = "Yes" 

代替。
在工作表对象范围内引用SheetName.Range,而不是工作簿范围的Excel.Application.Range对象。 这导致范围“AvailabilityDataModified”被限制在工作表对象的工作表。 由于没有“AvailabilityDataModified”单元格在表单中,所以Range返回一个错误。