「よく使うオブジェクトTOP10」体験版
概要
- シート名:
VBAオブジェクト学習
- 各ボタンを押すと、それぞれのオブジェクトの動作例+説明を自動で表示。
- セル操作・シート操作・グラフ作成などを、実際に体験できます。
- ボタン名:
Range操作 / Cells操作 / Worksheet操作 / Workbook操作 / RowsCols操作 / Selection操作 / Chart操作 / Shape操作 / Application操作
セットアップ手順
- 新しいExcelファイルを開く
Alt + F11 でVBAエディタを開く
- 「挿入」→「標準モジュール」を選択
- 下記のコードを貼り付け
- Excelに戻って、シート上にボタンを配置(開発タブ → 挿入 → フォームコントロール「ボタン」)
- 各ボタンに対応するマクロを割り当て(例:
RangeSample)
モジュールコード全文(そのまま貼り付けOK)
Option Explicit
'=============================
' Excel VBA オブジェクト学習モード
'=============================
Sub ShowMessage(title As String, msg As String)
MsgBox msg, vbInformation, title
End Sub
'---① Range オブジェクト---
Sub RangeSample()
Range("A1").Value = "こんにちは"
Range("A1").Font.Bold = True
Range("A1").Interior.Color = vbYellow
ShowMessage "Rangeオブジェクト", _
"セルや範囲を表す基本オブジェクトです。" & vbCrLf & _
"例:Range(""A1"").Value = ""文字""" & vbCrLf & _
"用途:値の取得・書込み・書式設定など"
End Sub
'---② Cells オブジェクト---
Sub CellsSample()
Cells(2, 1).Value = "行2列1"
Cells(2, 1).Font.Italic = True
ShowMessage "Cellsオブジェクト", _
"行番号・列番号でセルを指定します。" & vbCrLf & _
"例:Cells(2,1).Value = ""A2""" & vbCrLf & _
"用途:ループでセルを順に処理する時など"
End Sub
'---③ Worksheet オブジェクト---
Sub WorksheetSample()
Worksheets.Add.Name = "新しいシート"
ShowMessage "Worksheetオブジェクト", _
"ワークシート1枚を表します。" & vbCrLf & _
"例:Worksheets(""Sheet1"").Activate" & vbCrLf & _
"用途:シートの追加・削除・切り替え"
End Sub
'---④ Workbook オブジェクト---
Sub WorkbookSample()
ShowMessage "Workbookオブジェクト", _
"Excelファイル(ブック)全体を表します。" & vbCrLf & _
"例:ActiveWorkbook.Save" & vbCrLf & _
"用途:ブックの保存・開閉・新規作成など"
End Sub
'---⑤ Rows / Columns オブジェクト---
Sub RowsColsSample()
Rows(1).Hidden = Not Rows(1).Hidden
Columns("B").Width = 20
ShowMessage "Rows/Columnsオブジェクト", _
"行・列をまとめて扱います。" & vbCrLf & _
"例:Rows(1).Hidden = True" & vbCrLf & _
"用途:非表示・幅調整など"
End Sub
'---⑥ Selection オブジェクト---
Sub SelectionSample()
Range("A1:A3").Select
Selection.Interior.Color = vbCyan
ShowMessage "Selectionオブジェクト", _
"現在選択中の範囲を表します。" & vbCrLf & _
"例:Selection.Font.Bold = True" & vbCrLf & _
"用途:ユーザーの選択範囲に自動処理をかける"
End Sub
'---⑦ Chart オブジェクト---
Sub ChartSample()
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Worksheets(1).Range("A1:B5")
ShowMessage "Chartオブジェクト", _
"グラフ全体を表します。" & vbCrLf & _
"例:Charts.Add" & vbCrLf & _
"用途:データの可視化や自動レポート生成"
End Sub
'---⑧ Shape オブジェクト---
Sub ShapeSample()
Dim shp As Shape
Set shp = ActiveSheet.Shapes.AddShape(msoShapeOval, 100, 50, 80, 50)
shp.TextFrame.Characters.Text = "図形"
ShowMessage "Shapeオブジェクト", _
"図形・ボタン・画像などを表します。" & vbCrLf & _
"例:Shapes.AddShape(...)" & vbCrLf & _
"用途:図形やボタンを自動作成・削除"
End Sub
'---⑨ Application オブジェクト---
Sub ApplicationSample()
Application.DisplayAlerts = False
ShowMessage "Applicationオブジェクト", _
"Excel全体を表します。" & vbCrLf & _
"例:Application.Quit" & vbCrLf & _
"用途:Excelの動作全体を制御"
Application.DisplayAlerts = True
End Sub
'---⑩ 総まとめ---
Sub Summary()
ShowMessage "Excel VBA オブジェクト学習", _
"VBAでよく使う対象(オブジェクト)をまとめました!" & vbCrLf & _
"Range:セル操作" & vbCrLf & _
"Cells:行列指定" & vbCrLf & _
"Worksheet:シート操作" & vbCrLf & _
"Workbook:ブック操作" & vbCrLf & _
"Rows/Columns:行列調整" & vbCrLf & _
"Selection:選択範囲操作" & vbCrLf & _
"Chart:グラフ" & vbCrLf & _
"Shape:図形" & vbCrLf & _
"Application:Excel全体"
End Sub
VB
🧭 シート構成の例(ボタン配置)
┌────────────────────────────┐
│ Excel VBA オブジェクト学習 │
├────────────────────────────┤
│ [Range操作] [Cells操作] [Worksheet操作] │
│ [Workbook操作] [RowsCols操作] │
│ [Selection操作] [Chart操作] │
│ [Shape操作] [Application操作] │
│ [まとめを見る] │
└────────────────────────────┘
学習のポイント
- 実際に各ボタンを押して「セルに色が付く」「シートが増える」などの反応を観察。
- 「どの対象に対して操作しているのか?」 を意識すると理解が早まります。
- すべてのVBA操作は「オブジェクト → メソッド(動作)」の形になっています。