最初在SuperUser中询问:https://superuser.com/questions/206822/specifying-worksheet-name-required-when-identifying-a-cell-by-name-in-excel-2007。
我不知道这是否是版本的变化,但在2003年,这曾经在Access VBA中工作:
Dim xlSheet As Excel.Worksheet
xlSheet.Range("RangeName").Value = 100
以前我不需要识别工作表,因为“RangeName”是唯一的。 Excel 2007是不是将此值视为唯一值并要求指定工作表?
[编辑]以下是Access 2007 VBA中的错误:
“错误1004(对象'_Worksheet'的方法'范围'失败。”试图避免命名工作表。
我在Excel中使用了名称管理器。名称是唯一的,范围是工作簿。
当我尝试编辑名称时,它不允许更改范围。
注意:此工作簿是允许宏的模板,名称很乱。
答案 0 :(得分:0)
这是我发现的。
这使用了时尚之后的工作表名称:
Dim xlSheet As Excel.Worksheet
Set xlSheet = ActiveSheet
xlSheet.Range("rngOneCell") = 300
使用这种语法,我相信你可以避免命名表:
Range("rngOneCell") = 100