簡體   English   中英

Excel VBA worksheet.names vs worksheet.range

[英]Excel VBA worksheet.names vs worksheet.range

我在名為bob的工作表上創建了一個定義的名稱/范圍,指向一個單元格。 此工作表上還設置了許多其他名稱/范圍,我沒有創建。 除了我的以外,所有數量/范圍都能很好地工作。

我應該可以使用以下任一語句來引用此單元格的內容:

(worksheet object).Names("bob").RefersToRange.Value
(worksheet object).Range("bob").Value

但是,只有第二個語句,指的是Range因某種原因而起作用。 第一個在Names列表中找不到Names

我的問題是:

  1. NameRange之間有什么區別?
  2. 這與我的名字/范圍的全球/本地范圍有關嗎?
  3. 如何在工作表上創建其他名稱/范圍,以便它們出現在工作表NameRange列表中?

是的,你是對的。 名稱可以是本地(屬於工作表)和全局(屬於工作簿)。

(worksheet object).Names("bob")只會找到一個本地名稱。 你的名字顯然是全局的,所以你可以訪問它(worksheet object).Workbook.Names("bob").RefersToRange

“其他名字”可能是本地的。 它們僅在父表單處於活動狀態時出現在范圍列表中(檢查出來)。 要創建一個本地名稱,請在其前面加上工作表名稱,用'!'分隔: 'My Sheet Name'!bob

我不知道如何使用代碼,但如果您轉到名稱管理器在Excel 2007的功能區中的“公式”選項卡組下,您可以創建名稱並選擇其范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM