![](/img/trans.png)
[英]Excel VBA sort not working what is correct syntax for worksheet.range reference
[英]Excel VBA worksheet.names vs worksheet.range
我在名為bob
的工作表上創建了一個定義的名稱/范圍,指向一個單元格。 此工作表上還設置了許多其他名稱/范圍,我沒有創建。 除了我的以外,所有數量/范圍都能很好地工作。
我應該可以使用以下任一語句來引用此單元格的內容:
(worksheet object).Names("bob").RefersToRange.Value
(worksheet object).Range("bob").Value
但是,只有第二個語句,指的是Range
因某種原因而起作用。 第一個在Names
列表中找不到Names
。
我的問題是:
Name
和Range
之間有什么區別? Name
和Range
列表中? 是的,你是對的。 名稱可以是本地(屬於工作表)和全局(屬於工作簿)。
(worksheet object).Names("bob")
只會找到一個本地名稱。 你的名字顯然是全局的,所以你可以訪問它(worksheet object).Workbook.Names("bob").RefersToRange
。
“其他名字”可能是本地的。 它們僅在父表單處於活動狀態時出現在范圍列表中(檢查出來)。 要創建一個本地名稱,請在其前面加上工作表名稱,用'!'分隔: 'My Sheet Name'!bob
。
我不知道如何使用代碼,但如果您轉到名稱管理器在Excel 2007的功能區中的“公式”選項卡組下,您可以創建名稱並選擇其范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.