全12回 Excel VBAコースの第9回の内容です。
オブジェクト
オブジェクトとはブックやシート、セルなどVBAから操作可能な「もの」のことです。
オブジェクトにはプロパティとメソッドと呼ばれるものが備わっています。
プロパティ:オブジェクトの情報を取得・設定する
メソッド:オブジェクトに命令を与える
'オブジェクト.プロパティの例
Cells(1,1).Value
'オブジェクト.メソッドの例
Cells(1,1).Clear
カタカナが分かりにくい人は、「もの.属性」「もの.操作」というイメージで覚えてください。
コレクション
複数のオブジェクトの集合体をコレクションと呼びます。
コレクションにもプロパティとメソッドが備わっています。
コレクションは頂点をApplicationオブジェクトとする階層構造になっています。
【コレクションの階層構造】
Application
┗ Workbooks
┗ Worksheets
┗ Cells
┗ Range
┗ Shapes
┗ Charts
別のシートから値を取得/別のシートに値を入力する方法
今までセルの値を入力する際に「Cells」や「Range」で書き始めていましたが、
実は、「どのシートのセルなのか」の部分を省略して書いていました。
(省略した場合は、アクティブなシートと暗黙に認識される)
シートを指定したい場合は、Cells等の前にワークシートを記載してあげます。
'インデックス(何番目のシートか)を指定する書き方
Worksheets(1).Cells(1,1).Value = "テスト1"
'シート名を指定する書き方
Worksheets("Sheet1").Cells(2,1).Value = "テスト2"
上記の方法だと、毎回シートを指定しなければならず、コードが見にくくなるので、
下記のように変数にオブジェクトを指定する方法もあります。
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
ws.Cells(3,1).Value = "テスト3"
シートの追加/削除
Worksheetオブジェクトのプロパティやメソッドを使用して、色々な操作ができます。
'シートを追加して、シート名を変更する
Worksheets.Add
ActiveSheet.Name = "追加シート"
'シートを削除する
Worksheets("追加シート").Delete