Excel VBA(Visual Basic for Applications)には、多くのオブジェクトが存在し、それぞれがExcelのさまざまな部分を操作するために使用されます。以下に、Excel VBAでよく使われるオブジェクトについて簡単に説明します。
1. Application
オブジェクト
Excelアプリケーション全体を表し、グローバルな設定やオプションを制御します。例えば、画面更新のオンオフや計算モードの設定などができます。
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
2. Workbook
オブジェクト
Excelのワークブック(ファイル)を表します。ワークブックの開閉、保存、シートの追加などを行います。
Dim wb As Workbook
Set wb = Workbooks.Open("C:\path\to\file.xlsx")
wb.Save
wb.Close
3. Worksheet
オブジェクト
Excelのワークシートを表します。シートのアクティベート、セル範囲の操作、シートの名前変更などができます。
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Cells(1, 1).Value = "Hello"
4. Range
オブジェクト
セルやセル範囲を表します。セルの値の取得や設定、フォーマットの変更、数式の設定などが行えます。
Dim rng As Range
Set rng = ws.Range("A1:B10")
rng.Value = "Hello"
rng.Font.Bold = True
5. Chart
オブジェクト
Excelのチャート(グラフ)を表します。チャートのデータ設定、タイトルや軸の設定、フォーマットの変更などを行います。
Dim cht As Chart
Set cht = ws.ChartObjects(1).Chart
cht.ChartTitle.Text = "Sales Data"
6. PivotTable
オブジェクト
ピボットテーブルを表します。ピボットテーブルのフィールド設定やレイアウトの変更、データの更新などが行えます。
Dim pt As PivotTable
Set pt = ws.PivotTables("PivotTable1")
pt.PivotFields("Category").Orientation = xlRowField
7. ListObject
オブジェクト
Excelのテーブル(リスト)を表します。テーブルのデータ操作や構造変更、フィルターや並べ替えの設定などが行えます。
Dim tbl As ListObject
Set tbl = ws.ListObjects("Table1")
tbl.ListColumns(1).Name = "New Column Name"
8. Shape
オブジェクト
Excelシート上の図形を表します。図形の追加、フォーマットの設定、位置の変更などが行えます。
Dim shp As Shape
Set shp = ws.Shapes.AddShape(msoShapeRectangle, 10, 10, 100, 50)
shp.Fill.ForeColor.RGB = RGB(255, 0, 0)
9. UserForm
オブジェクト
カスタムダイアログボックスを作成するために使用されます。フォームのデザイン、コントロールの配置、イベント処理などが行えます。
Dim uf As UserForm
Set uf = New UserForm1
uf.Show
10. ChartObject
オブジェクト
ワークシートに埋め込まれたチャートオブジェクトを表します。チャートのプロパティやメソッドにアクセスするために使用されます。
Dim co As ChartObject
Set co = ws.ChartObjects("Chart 1")
co.Chart.ChartTitle.Text = "Monthly Sales"
11. Name
オブジェクト
定義された名前を表し、名前付き範囲を管理します。名前の作成、変更、削除などが行えます。
Dim nm As Name
Set nm = ThisWorkbook.Names.Add(Name:="MyRange", RefersTo:="=Sheet1!$A$1:$A$10")
これらのオブジェクトを理解し活用することで、Excel VBAのプログラミングが効率的に行え、強力な自動化スクリプトやマクロを作成することができます。各オブジェクトには多くのプロパティやメソッドがあり、それらを組み合わせることで複雑な操作も簡単に実行できます。