2016-05-09 4 views
0

名前付き範囲情報を保存するベストプラクティスは何ですか?名前付き範囲情報を保存する最も良い方法は何ですか?

バックグラウンドは、データソース、開始日、終了日などのいくつかのパラメータに従ってWebサービスからデータを取得します。 A1:D10などの名前付き範囲にデータを取得します。ユーザーは後で名前付き範囲を更新したり、ワークブックを同僚と共有したりすることができます。

現在、名前付き範囲の名前と、データソース、開始日、終了日などのその他のパラメータをシートカスタムプロパティに格納します。その後、ワークブックを再び開いたときに、名前付き範囲の名前、データソース、開始日、終了日をカスタムプロパティから読み込みます。エンドユーザは、必要に応じて名前付き範囲のデータを更新することができます。

ユーザーが行/列を挿入/削除できるため、名前付き範囲アドレス(R1C1)は保存できないため、名前付き範囲アドレスが変更されます。名前付き範囲の名前をカスタムプロパティに格納する必要があります。

しかし、問題は名前付き範囲の名前も変更できることです。ユーザーは、式 - >名前マネージャをクリックして名前を変更できます。現在、私たちはエンドユーザに教育しないでください。しかし、これは最高の解決策ではありません。

あなたは私にいくつかの提案を与えることができますか?名前付き範囲情報とその関連情報を保存するベストプラクティスは何ですか?ありがとう。あなたは...

を提供しているものに基づいて

+0

ユーザーフォームを作成して、要件ごとにデータとストアを維持します。 – Jules

答えて

1

Googleグループの隠れた範囲で使用することをおすすめします。 UXの観点から見ると、シートをロックするよりも優れているようです。

https://groups.google.com/forum/#!topic/exceldna/U8qeOpHiuI8を参照してください。

コメントがありますか?ありがとう。

1

私は名前付き範囲(複数可)を含有するシート(複数可)を保護するになります。シートを保護すると、名前付き範囲の名前をユーザーが使用できなくなるように変更できます。

たとえば、A1:A3コールNumbsの名前付き範囲を持つSheet1のブックを考えてみましょう。このマクロを実行した後...

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

シートを保護するこのソリューションは、最も近い解決策を探します。ユーザーは、セルの編集、ソート、チャートの挿入が可能です。多分、これが私たちが持っている最良の解決策です。 –

関連する問題