指定在Excel 2007中按名称标识单元格时所需的工作表名称

时间:2010-11-04 15:09:31

标签: vba excel-2007 ms-access

最初在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中使用了名称管理器。名称是唯一的,范围是工作簿。

alt text

当我尝试编辑名称时,它不允许更改范围。 alt text

注意:此工作簿是允许宏的模板,名称很乱。

1 个答案:

答案 0 :(得分:0)

这是我发现的。

这使用了时尚之后的工作表名称:

Dim xlSheet As Excel.Worksheet
Set xlSheet = ActiveSheet
xlSheet.Range("rngOneCell") = 300

使用这种语法,我相信你可以避免命名表:

Range("rngOneCell") = 100