Excel VBAオブジェクトTOP10 例題集
ここでは Excel VBAオブジェクトTOP10 を対象に、学習用の「例題 → 回答コード → 解説」をセットでまとめます。
実際に手を動かしながら理解できるように、シンプルかつ実務に近い例題にしました。
① Range
例題:セル A1 に「学習中」と入力しなさい。
回答コード
Range("A1").Value = "学習中"
VB解説Range はセルや範囲を表すオブジェクト。.Value プロパティで値を取得・設定できます。
② Cells
例題:2行3列目(C2セル)に「Cellsで指定」と入力しなさい。
回答コード
Cells(2, 3).Value = "Cellsで指定"
VB解説Cells(行番号, 列番号) でセルを指定できます。ループ処理と相性が良いです。
③ Rows / Columns
例題:1行目を削除しなさい。
回答コード
Rows(1).Delete
VB解説Rows や Columns は行・列を表すオブジェクト。削除や幅・高さの変更が可能です。
④ Worksheet
例題:「Sheet1」をアクティブにしなさい。
回答コード
Worksheets("Sheet1").Activate
VB解説Worksheets コレクションからシートを指定し、.Activate でアクティブ化できます。
⑤ Workbook
例題:新しいブックを作成しなさい。
回答コード
Workbooks.Add
VB解説Workbooks コレクションから .Add を呼び出すと新規ブックが作成されます。
⑥ Application
例題:Excelの警告メッセージを一時的に非表示にしなさい。
回答コード
Application.DisplayAlerts = False
VB解説Application はExcel全体を表すオブジェクト。.DisplayAlerts を False にすると保存確認などのダイアログが抑制されます。
⑦ Font
例題:セル A1 の文字を赤色・太字にしなさい。
回答コード
Range("A1").Font.Bold = True
Range("A1").Font.Color = vbRed
VB解説Font オブジェクトは文字の書式を制御します。色やサイズ、太字などを設定可能です。
⑧ Interior
例題:セル A1 の背景色を黄色にしなさい。
回答コード
Range("A1").Interior.Color = vbYellow
VB解説Interior はセルの塗りつぶしを表すオブジェクト。.Color プロパティで色を指定します。
⑨ Chart
例題:新しいグラフを作成しなさい。
回答コード
Charts.Add
VB解説Charts コレクションから .Add を呼ぶと新しいグラフシートが作成されます。.ChartType で種類を指定可能です。
⑩ PivotTable
例題:A1:B3 のデータを元にピボットテーブルを作成しなさい。
回答コード
Dim pc As PivotCache
Dim pt As PivotTable
Set pc = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, SourceData:=Range("A1:B3"))
Set pt = pc.CreatePivotTable( _
TableDestination:=Range("D1"), TableName:="売上表")
pt.PivotFields("商品").Orientation = xlRowField
pt.PivotFields("売上").Orientation = xlDataField
VB解説PivotCache でデータをキャッシュし、PivotTable を作成します。PivotFields で行・列・値を設定します。
まとめ
- Range, Cells, Rows/Columns → セル操作の基礎
- Worksheet, Workbook → シート・ブック操作
- Application → Excel全体制御
- Font, Interior → 書式設定
- Chart, PivotTable → データ可視化・分析
練習問題シート自動生成マクロ
Option Explicit
Sub CreatePracticeSheet()
Dim ws As Worksheet
Dim problems As Variant
Dim answers As Variant
Dim explanations As Variant
Dim i As Long
' 既存の「練習問題」シートがあれば削除
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("練習問題").Delete
Application.DisplayAlerts = True
On Error GoTo 0
' 新しいシート作成
Set ws = Worksheets.Add
ws.Name = "練習問題"
' 例題・回答・解説データ
problems = Array( _
"① Range: セルA1に「学習中」と入力しなさい", _
"② Cells: 2行3列目(C2)に「Cellsで指定」と入力しなさい", _
"③ Rows/Columns: 1行目を削除しなさい", _
"④ Worksheet: 「Sheet1」をアクティブにしなさい", _
"⑤ Workbook: 新しいブックを作成しなさい", _
"⑥ Application: 警告メッセージを非表示にしなさい", _
"⑦ Font: セルA1を赤色・太字にしなさい", _
"⑧ Interior: セルA1の背景を黄色にしなさい", _
"⑨ Chart: 新しいグラフを作成しなさい", _
"⑩ PivotTable: A1:B3のデータからピボットテーブルを作成しなさい" _
)
answers = Array( _
"Range(""A1"").Value = ""学習中""", _
"Cells(2,3).Value = ""Cellsで指定""", _
"Rows(1).Delete", _
"Worksheets(""Sheet1"").Activate", _
"Workbooks.Add", _
"Application.DisplayAlerts = False", _
"Range(""A1"").Font.Bold = True : Range(""A1"").Font.Color = vbRed", _
"Range(""A1"").Interior.Color = vbYellow", _
"Charts.Add", _
"PivotCaches.Create(xlDatabase, Range(""A1:B3"")).CreatePivotTable Range(""D1""), ""売上表""" _
)
explanations = Array( _
"Rangeはセル範囲を表す。Valueで値を設定できる。", _
"Cells(行,列)でセルを指定できる。ループ処理で便利。", _
"RowsやColumnsは行・列を表す。Deleteで削除可能。", _
"Worksheets(""名前"")でシートを指定し、Activateでアクティブ化。", _
"Workbooks.Addで新しいブックを作成。", _
"ApplicationはExcel全体を表す。DisplayAlerts=Falseで警告非表示。", _
"Fontは文字書式を制御。BoldやColorを設定可能。", _
"Interiorはセルの塗りつぶしを制御。Colorで色指定。", _
"Charts.Addで新しいグラフを作成。ChartTypeで種類変更可能。", _
"PivotCacheを作成し、CreatePivotTableでピボットテーブルを生成。" _
)
' 見出し
ws.Range("A1").Value = "例題"
ws.Range("B1").Value = "回答欄"
ws.Range("C1").Value = "解説"
ws.Range("A1:C1").Font.Bold = True
' データ書き込み
For i = 0 To UBound(problems)
ws.Cells(i + 2, 1).Value = problems(i)
ws.Cells(i + 2, 2).Value = answers(i)
ws.Cells(i + 2, 3).Value = explanations(i)
Next i
' 見やすく整形
ws.Columns("A:C").AutoFit
ws.Rows(1).Interior.Color = RGB(200, 200, 250)
MsgBox "練習問題シートを作成しました!", vbInformation
End Sub
VB使い方
- Excelで
Alt + F11を押してVBAエディタを開く - 標準モジュールに上記コードを貼り付ける
CreatePracticeSheetを実行する- 新しいシート「練習問題」が作成され、例題・回答・解説が一覧表示される


