PCメモ

Excelを中心とした業務改善の記録

オブジェクト・コレクション・メンバ

オブジェクト

オブジェクトとは、VBAで何か操作する時の対象となるもののことです。

オブジェクト名
ブック Workbook
ワークシート WorkSheet
セル Range
オブジェクト式
①対象.様子=値
②対象.命令 オプション:=値

佐藤君という小学生を例に説明していきます。

①対象.様子 = 値

佐藤.服の色
→着ている服の色がわかる

佐藤.服の色=緑
→服の色が緑になる

VBAだと…
Range("A1").Interior.Color = rgbGreen
(A1のセルの色を緑色にする)

 

佐藤君の状態や様子のことをプロパティと呼びます(例.服の色)

②対象.命令 オプション := 値

佐藤.走れ
→佐藤が走りだす

佐藤.走れ 目的地 := 自宅
→佐藤が自宅へ向かって走り出す

VBAだと…
Range("A1").Copy Destination:=Range("B1")
(A1セルをB1セルにコピーする)

佐藤君の動作やアクションを伴う命令をメソッドといいます(例.走る)

 

コレクション

コレクションとは同じオブジェクトの集合体のことです。

佐藤君という単一のオブジェクトに加え、クラスメイトという他のオブジェクトが集まることで、クラスというコレクションが形成されます。

佐藤君は1年1組というコレクションの中のオブジェクトです。
他の組にも佐藤という名字生徒がいるので、「佐藤君走れ」という放送を流すと学校にいる全ての佐藤君が走り出してしまいます。

その為、何年何組の佐藤君に指示をするのか指定してあげる必要があります。

 

1年1組.佐藤.走れ 目的地 := 自宅

VBAだと…
Sheets(1).Range("A1").Copy Destination:=Sheets(2).Range("B1")
(1つ目のシートのA1セルを、2つ目のシートのB1セルにコピーする)

 

クラスを指定してあげることで1年1組の佐藤君を走らせることができましたが、これは1年1組に佐藤君が1人しかいないということが前提となっています。

VBAの世界ではクラスに佐藤君が2人存在するとエラーになってしまいます。

1つのブック内で同じシート名をつけることはでず、1つのシートにA1セルは1つしか存在しません。

 

メンバ

 コレクションに含まれる各オブジェクトを「メンバ」と呼びます。

1年1組は佐藤君や田中君といった個々のオブジェクトから形成されており、彼らを1年1組というコレクションのメンバといいます。

 

f:id:abv72:20210405233502p:plainメンバが集まりコレクションが形成される。

 

オブジェクトが持つメソッドやプロパティのこともオブジェクトのメンバと呼ぶ。

 

 

 

 

 

 

 

 

WorkSheetsコレクションの場合。

f:id:abv72:20210405231645p:plain