2016-05-09 200 views
0

存儲指定範圍信息的最佳做法是什麼?什麼是存儲命名範圍信息的最佳方式?

背景是:我們根據一些參數(如數據源,開始日期和結束日期)從Web服務檢索數據。我們將數據檢索到命名範圍,如A1:D10。用戶可以稍後刷新命名範圍,或與他的同事共享工作簿。

當前我們存儲名爲範圍的名稱和其他參數,如數據源,開始日期和結束日期到圖表自定義屬性。稍後當工作簿再次打開時,我們從定製屬性中讀取命名範圍的名稱,數據源,開始日期和結束日期。因此,最終用戶可以在需要時刷新指定範圍的數據。

由於用戶可能會插入/刪除行/列,所以我們無法存儲已命名的範圍地址(R1C1),因此命名的範圍地址將會更改。那麼我們必須將命名範圍的名稱存儲到自定義屬性中。

但問題是:命名範圍的名稱也可以更改。用戶可以點擊公式 - >名稱管理器來更改名稱。目前我們必須教育我們的最終用戶不要這樣做。但絕對不是最好的解決方案。

那麼你能給我一些建議嗎?存儲指定範圍信息及其相關信息的最佳做法是什麼?謝謝。

+0

按照需求創建用戶表單以維護數據和存儲。 – Jules

回答

1

根據您所提供的...

我會去了解一下保護包含命名的區域(一個或多個)片(或多個)。保護工作表使得更改用戶不可用的命名範圍的名稱。您可以使很多東西仍然可用:所有單元格解鎖,插入行/列的能力等。

例如,考慮Sheet1具有A1:A3調用Numbs的命名範圍的工作簿。運行此宏後...

Sub test() 
Dim mySht As Worksheet 
    Set mySht = Worksheets("Sheet1") 
    With mySht 
     .Unprotect 
     .Cells.Locked = False 
     .Protect UserInterfaceOnly:=True, AllowInsertingRows:=True, _ 
      AllowDeletingRows:=True, AllowInsertingColumns:=True, _ 
      AllowDeletingColumns:=True 
    End With 
End Sub 

名稱管理器對話框,如下所示(請注意新... ...編輯和刪除按鈕變灰)

enter image description here

所以命名的範圍不能改變。但是,仍然可以編輯所有單元格,並插入或刪除行/列。

不利的一面是,新的命名範圍無法添加到該表中。

+0

該解決方案保護紙張,看起來是最接近的解決方案。用戶仍然可以編輯單元格,排序或插入圖表。也許這是我們擁有的最佳解決方案。 –

相關問題