1

ExcelオブジェクトモデルRangeでは、シートの一部ではなく、セルのセットが含まれ、ブックに名前で示されているを許可すると言われています。

これらがExcelオブジェクトモデルにどのように適合するか、そしてそのようなものをプログラムで(VBAまたは.NETソースコードのいずれかで)作成する方法を誰かが私に説明できますか?

ありがとう。

4

3 に答える 3

3

あなたの質問は少し漠然としていますが、試してみます。

デイブが説明しているように、シート上の特定の範囲のセルに「範囲名」を付けて、プログラムで参照できますが、それはあなたが求めているようには聞こえません。

「どのワークシートにも文字通り存在しない、VBA コードで使用できるセルの抽象的な RANGE はありますか?」と尋ねているように聞こえます。これに対する答えはノーです。名前付き範囲であっても、実際のワークシート上の実際のセル セットへの便利な参照にすぎません。

ただし、プログラムでワークシートを非表示にしてユーザーに見えないようにし、そのシートのセルと範囲を操作することはできます。ただ行う:

Sheets("Sheet1").Visible = xlSheetHidden
Sheets("Sheet2").Visible = xlSheetVeryHidden
Sheets("Sheet3").Visible = xlSheetVisible

「非常に隠された」とは何ですか?これは、ユーザーが [書式]、[シート]、[再表示] に移動して、シートを表示できないことを意味します。

したがって、あなたが何を望んでいるのかを正しく理解している場合は、プログラムでシートの1つを非表示にし、Daveの手法を使用して、この非表示(またはVeryHidden)シートの範囲への名前付き参照を作成します.

于 2010-05-18T16:15:43.130 に答える
2

それは名前付き範囲になります。選択したセルを参照して、数式バーの横にある「A1」と表示されている場所に名前を入力するだけです。これにより、変更されない名前付き範囲が作成されます。

または、数式に基づく名前付き範囲を作成することもできます。これにより、スプレッドシートのデータが変更されると変更される可能性があります。これは、[名前の定義] オプション (Office 2010 の数式リボンにあります) から行います。

名前付き範囲には VBA からアクセスできますが、.net からもアクセスできます。

したがって、次のように vba から名前付き範囲にアクセスします。

Range["MyNamedRange"]
于 2010-05-18T15:52:21.647 に答える
1

はい、 VSTO の名前空間にNamedRangeコントロールがありMicrosoft.Office.Tools.Excelます。これは、名前空間のネイティブRangeコントロール とは異なるホスト コントロールです。Microsoft.Office.Interop.Excel.Range

于 2010-05-18T16:07:50.570 に答える