/ / Excel VBAワークブックとワークシートオブジェクト

Excel VBAワークブックとワークシートオブジェクト

オブジェクト階層 | コレクション | プロパティとメソッド

詳細はこちら ワークブック そして ワークシートオブジェクトExcel VBA

オブジェクト階層

Excel VBAでは、オブジェクトに別のオブジェクトを含めることができますそのオブジェクトには別のオブジェクトなどを含めることができます。つまり、Excel VBAプログラミングでは、オブジェクト階層を使用した作業が行われます。これはおそらくかなり混乱しているように見えますが、わかりやすく説明します。

すべてのオブジェクトの母親はExcelそのものです。 これをApplicationオブジェクトと呼びます。アプリケーションオブジェクトには他のオブジェクトが含まれています。たとえば、ワークブックオブジェクト(Excelファイル)。これは、作成したブックです。 Workbookオブジェクトには、Worksheetオブジェクトなどの他のオブジェクトが含まれています。 Worksheetオブジェクトには、Rangeオブジェクトなどの他のオブジェクトが含まれています。

マクロの作成の章は、コマンドボタンをクリックしてコードを実行する方法を示しています。次のコード行を使用しました。

Range("A1").Value = "Hello"

私たちが本当に意味していたのは、

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

注:オブジェクトはドットで結ばれています。 幸い、このようにコード行を追加する必要はありません。これは、最初のワークシートにcreate-a-macro.xlsにコマンドボタンを配置したためです。異なるワークシート上のものを変更する場合は、ワークシート・オブジェクトを含める必要があることに注意してください。読む。

コレクション

あなたは、ワークブックとワークシートは両方とも複数です。それはコレクションであるからです。 Workbooksコレクションには、現在開いているすべてのワークブックオブジェクトが含まれています。 Worksheetsコレクションには、ブック内のすべてのワークシートオブジェクトが含まれます。

ワークシート名

たとえば、単一のワークシートオブジェクトなど、コレクションのメンバーを参照するには、次の3つの方法があります。

1.ワークシート名を使用する。

Worksheets("Sales").Range("A1").Value = "Hello"

2.インデックス番号を使用します(1は左から最初のワークシートです)。

Worksheets(1).Range("A1").Value = "Hello"

3. CodeNameの使用。

Sheet1.Range("A1").Value = "Hello"

ワークシートのCodeNameを表示するには、Visual Basic Editorを開きます。プロジェクトエクスプローラでは、最初の名前はCodeNameです。 2番目の名前はワークシート名(Sales)です。

コード名

注意: ワークシート名またはワークシートの順序を変更すると、CodeNameが同じままになるため、これがワークシートを参照する最も安全な方法です。 [表示]、[プロパティウィンドウ]をクリックして、ワークシートのCodeNameを変更します。 1つの欠点があります。別のワークブックでワークシートを参照する場合は、CodeNameを使用できません。

プロパティとメソッド

今、いくつかのプロパティを見てみましょうワークブックとワークシートのコレクションのメソッド。プロパティはコレクションにあるもの(コレクションを記述する)であり、メソッドは何かを行う(コレクションでアクションを実行する)ものです。

ワークシートにコマンドボタンを配置し、コード行を追加します。

1.ブックのAddメソッドは、新しいブックを作成します。

Workbooks.Add

注:ワークシートコレクションのAddメソッドは、新しいワークシートを作成します。

2.ワークシートコレクションのCountプロパティは、ブック内のワークシートの数をカウントします。

MsgBox Worksheets.Count

シート上のコマンドボタンをクリックすると、結果が表示されます。

Excel VBAのCountプロパティ

注:ワークブックコレクションのCountプロパティは、アクティブなワークブックの数をカウントします。

また読む: