Excel VBAの第一歩、主な概念を知ろう

オブジェクトとコレクション

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
何かが集まった集合体をコレクションと呼びます。コレクションの使い方を紹介します。
講師:
09:28

字幕

このレッスンではオブジェクトとコレクションについて解説します。VBA のオブジェクト式はExcel を操作する様な書き方です。オブジェクト式には大きく分けて 2 つのパターンがあります。特別な読み方が決まっていませんのでここでは仮に A のパターンB のパターンと呼ぶことにしましょう。A のパターンは対象.様子=値と書きます。操作の対象の様子や状態を設定したり或は様子や状態を調べたりするそういう使い方です。Bのパターンは何らかのアクションを伴う様なそういう命令です。対象.命令と書きます。そして、この命令に対する補足事項これを後ろに:=を使ってオプションを指定します。オブジェクト式はこの 2 つのパターンがあります。そして今の話の対象の部分を VBA の専門用語でオブジェクトと言います。様子や状態のことをプロパティと言います。何らかのアクションを伴う様な命令をメソッド等と言います。このうちの対象、つまりオブジェクトの指定の仕方にあるルールがあります。ここではそのルールに関して解説します。先ず言葉で説明すると対象、つまりオブジェクトは集団のメンバーとして指定しなければいけない。こういうことです。 ちょっと意味が分かりませんね。具体的な説明をこれからしましょう。例えばこういうシーンを思い描いてください。学校があって、学級、クラスがあって生徒が沢山います。先生がその生徒の 1 人田中君に指示を出すわけです。例えば、「田中.走れ」この様に田中君に指示を出す時実は VBA ではいきなり「田中」と名指しで読んではいけないというルールがあります。どういうことかというと。クラスですから田中君以外にも生徒がいる例えば鈴木君がいたり、山田さんがいたり佐藤君がいたり田中君は、その学級の中の構成員の1人ですね。田中君が生徒であるならば同じ様に鈴木さんも生徒山田さんも生徒、佐藤君も生徒生徒、生徒、生徒つまり生徒が集まった生徒達という集合体の田中君は 1メンバーであると考えられます。この様な時田中君に対して指示を出す時はいきなり「田中.走れ」ではなくて田中君が属している集合体集団名の方から呼ばなければいけないつまり「生徒達の田中という名前の人、走りなさい。」この様に指定しなければいけないというこれはVBAの大原則です。或はもし、仮に、田中君が出席番号 2 番だとしたら出席番号でなくても構いません。背番号でも良いし、席の並び順でも結構です。 田中君が 2 番だったとしたら田中君という名前を呼ぶのではなく「田中君が属している生徒達の2 番の人、走りなさい。」と言えばこれは田中君を指定したことになりますよね。この様に VBA では操作の対象が属している集合体、集団名を使って何という名前の人、或は何番の人の様に指定をしなければいけないというルールです。今の話をもう少しだけVBA 風に言ってみます。もし田中君が生徒オブジェクトだったとしたら勿論、他のメンバー鈴木さんや佐藤さんや山田君も皆、生徒オブジェクト、生徒オブジェクト生徒オブジェクトです。つまりこの集団は生徒オブジェクトが集まった集団その様なものを VBA では生徒達コレクションと言います。生徒オブジェクトが集まった生徒達名前が複数形になるのがポイントです。従って「生徒達コレクションの田中という名前の人」という様に指定すれば田中君を特定できるわけです。これを Excel でお話しましょう。今の田中君と他の生徒達の関係を頭にイメージしておいてください。もしマクロでシート 1 を操作しようとしたら先ほどの田中君の例の様にいきなり「田中」と名指しで呼んではいけない。同じ様に「シート1」といきなり呼んではいけない。 ワークシートつまりシートシートオブジェクトの集合体シート1、シート2、シート3シートが集まったシーツコレクションというのがあります。シーツコレクションの中のシート 1という名前の人、何々しなさい。或は番号でシートオブジェクトが集まったシーツの中の例えば左側から数えて 1番目の人どうとかしなさい。この様に指定をしなければいけないという大原則です。これが先ほどお見せした言葉で説明すると対象つまりオブジェクトは集合のメンバーとして指定しなければいけないというルールです。さて、VBA にはよく使うもの或はポイントになる様なものに対して特例が認められていることが多いです。ここにも特例があります。集団のメンバーとして指定しなければいけないのは大原則なのですが、但しセルは例外です。セルを指し示す時の書き方はこの原則に当てはまりません。これから、どの様に例外なのかというのをお見せします。但しセルの指定に関してはあまり詳しく解説をしていませんので今の原則と何が違うのかという点に注目して理解してください。先ず、セルはRange オブジェクトと呼びます。ワークシート上には沢山のセルがありますね。つまり沢山の Range オブジェクトが集まっている。 そういう状態です。そのセルを指し示すやり方として基本的なものが、ここに書いた 2 つ1 つは Range 何々2 つ目は Cels 何々と書きます。この 2 つの書き方は基本中の基本です。1 つ目の書き方 Range の方は括弧してセルのアドレスを指定します。しかし原則と見比べるとおかしいことに気付きます。セルが Range オブジェクトであるならばここは Ranges にならなければおかしいですね。ここは Ranges になりません。先ほどの原則とは違うのです。例外だからです。或は 2 番目 Cellsこちらは s が付いています。複数形です。ということは、つまりc、e、l、lc、e、l、l のCell オブジェクトの集合体なのかなコレクションなのかなと見えます。しかし VBA にc、e、l、lCell オブジェクトなどというものはありません。先ほどの原則とは違います。我々は Excel マクロでセルを扱うことがとても多いです。つまり例外ばかりを使っているということです。従って、いざセルではないものを操作しようと思った時例えばワークシート、例えばブック例えばグラフこの様なものを操作する時には先ほどの大原則コレクションで指定をするというルールにのっとらなければなりません。 しかしそこが分からなくなってしまうんですね。オブジェクトを指定する時はそのオブジェクトが属しているコレクションの名前から指定するという原則但し、セルを指し示す時のRange や Cells は例外だということこの 2 点をしっかりイメージしてください。このレッスンではオブジェクトとコレクションについて解説しました。

Excel VBAの第一歩、主な概念を知ろう

マクロの自動記録の機能は便利ですが、VBA (Visual Basic for Applications)を使って自分でマクロを作れるようになるには基礎から学習するしかありません。このコースではVBAの概念とその基礎知識から、実務において実際に役立つマクロの作成の仕方まで順を追って解説します。

2時間19分 (31 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 1,990
発売日:2014年01月13日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。