エクセルVBAでのワークブックおよびワークシートオブジェクトの詳細については、こちらをご覧ください。

オブジェクト階層

等のExcel VBA、オブジェクト別のオブジェクトを含むことができ、そのオブジェクトが他のオブジェクトを含むことができ、内言い換えれば、エクセルVBAプログラミングは、オブジェクト階層を操作することを含みます。これはおそらく、かなり混乱に聞こえるが、我々はそれを明確にします。

すべてのオブジェクトの母親は、Excel自体です。私たちは、Applicationオブジェクトを呼び出します。アプリケーションオブジェクトは他のオブジェクトが含まれています。たとえば、Workbookオブジェクト(Excelファイル)。これは、作成した任意のワークブックことができます。

ワークブックのオブジェクトは、ワークシートオブジェクトと他のオブジェクトを含んでいます。ワークシートオブジェクトは、Rangeオブジェクトなどの他のオブジェクトが含まれています。

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

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

しかし、私たちが本当に意味することだった。

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

注:オブジェクトはドットで接続されています。幸いなことに、我々は、コード行をこのように追加する必要はありません。最初のワークシート上で、/vba-excel-files-create-a-macro.xls [作成—​macro.xlsm] `:それは私たちがリンク`で私たちのコマンドボタンを配置するのであります。あなたが別のワークシート上で物事を変更したい場合、あなたはワークシートオブジェクトを含める必要があることに注意してください。読む。

コレクション

あなたは、ワークブックおよびワークシートの両方が複数あることに気づいたかもしれません。彼らはコレクションであるためです。ワークブックのコレクションは、現在開いているすべてのワークブックのオブジェクトが含まれています。ワークシートのコレクションは、ブック内のすべてのワークシートオブジェクトが含まれています。

Worksheet Names

次の3つの方法で、例えば、コレクションのメンバーに単一のワークシートオブジェクトを参照することができます。

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

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

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

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

3.コードネームを使用しました。

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

/ VBA作成し、マクロ#のビジュアル・ベーシック・エディタ[Visual Basicエディター] `:ワークシートのコードネームを表示するには、`リンクを開きます。プロジェクトエクスプローラでは、最初の名前はコードネームです。 2番目の名前は、ワークシート名(販売)です。

CodeName

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

プロパティとメソッド

今度は、ワークブックおよびワークシートのコレクションのいくつかのプロパティとメソッドを見てみましょう。プロパティは、メソッドが何かをしながら(彼らはコレクションでアクションを実行する)、コレクションが持っているもの(彼らはコレクションを記述)です。

ワークシート上の/ VBAの作成・マクロ#コマンドボタンを[コマンドボタン] `とコード行を追加します:`リンクを置き

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

Workbooks.Add

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

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

MsgBox Worksheets.Count

あなたはシート上のコマンドボタンをクリックすると、結果:

Count Property in Excel VBA

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