アクセス上位ページ
 
最近の更新内容
[NEXT] ⇒ (1)-o.コメント

Excel VBA ≫ 1.基礎編 - はじめに(1)-n.オブジェクト、プロパティ、メソッド

【ページ内リンク】

オブジェクト、プロパティ、メソッド

オブジェクトとはブックやシート、セルなどVBAから操作可能な‘もの’の総称です。
オブジェクトにはプロパティとメソッドと呼ばれるものが備わっており、 プロパティオブジェクトの情報を取得・設定するもの、 メソッドオブジェクトに命令を与えるものになります。 プロパティとメソッドを合わせてメンバと言ったりします。



Rangeオブジェクトのプロパティの一例
プロパティ 説明
Value 値の取得・設定
Row 行の取得のみ(※)
Column 列の取得のみ(※)

※プロパティには情報の取得のみ可能で、設定ができないものがあります。

  • A1セルに値を設定
  • Sub test1()
        Range("A1").Value = "Hello!!"
    End Sub
    
  • A1セルの値を取得し、その値をメッセージボックスに表示
  • Sub test2()
        MsgBox Range("A1").Value
    End Sub
    

Rangeオブジェクトのメソッドの一例
メソッド 説明
Clear 値・数式・書式・コメントのクリア
Delete セルの削除
Copy セルのコピー
  • A1セルの値・数式・書式などをクリア
  • Sub test3()
        Range("A1").Clear
    End Sub
    

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

複数のオブジェクトの集合体コレクションと呼びます。 コレクションにもプロパティとメソッドが備わっています。 コレクションは頂点をApplicationオブジェクトとする階層構造になっています。

コレクションの一例
コレクション 説明
Workbooks ワークブックオブジェクトの集合体
Worksheets ワークシートオブジェクトの集合体
Cells セルオブジェクトの集合体
Range セルオブジェクトの集合体
※"Cells"とは参照方法が異なる。
Shapes 図形オブジェクトの集合体
Charts チャートオブジェクトの集合体


Worksheetsコレクションのプロパティの一例
プロパティ 説明
Count シート数の取得のみ
  • Worksheetオブジェクトの数を取得し、その値をメッセージボックスに表示
  • Sub test4()
        MsgBox Worksheets.Count
    End Sub
    

Worksheetsコレクションのメソッドの一例
メソッド 説明
Add 新規シートの追加
  • 新規シートを追加
  • Sub test5()
        Worksheets.Add
    End Sub
    

主なコレクションの階層構造
オブジェクト・コレクションの階層構造

コレクションインデックスや名前を指定することでオブジェクトを指定することができます。 これを繰り返して目的のオブジェクトまで順にたどっていき、最後にプロパティやメソッドを指定することで、 目的のオブジェクトの情報を取得したり、操作したりすることができます。
  • インデックスでセルを特定
  • Sub test6()
        Workbooks(1).Worksheets(1).Cells(1, 2).Value = "Hello!!"
    End Sub
    
  • 名前でセルを特定
  • Sub test7()
        Workbooks("VBA入門.xlsm").Worksheets("Sheet1") _
                                     .Range("MSG").Value = "Hello!!"
    End Sub
    
    ※"Sheet1"内に"MSG"という名前のセルが存在することが前提となります。
管理人から一言・・・ 半角スペース+アンダースコア
半角スペース+アンダースコアは複数行を1行とみなす効果があります。
1行のコードが長くなる場合は適度な個所で使用しましょう。


ブック、シートなど上位階層のオブジェクトは省略することができます。 この場合、マクロ実行時にアクティブになっているオブジェクト (最前面に表示されているブック・シート)が対象となります。
    Sub test8()
        Cells(1, 1).Value = "Hello!!"
    End Sub
    
    ↑↑↑
    同じ処理
    ↓↓↓
    Sub test9()
        ActiveSheet.Cells(1, 1).Value = "Hello!!"
    End Sub
    

<サイト内関連リンク> 関連リンクもチェック!!
- Worksheetsコレクションの使用例
カテゴリ内ページ



Page
Top