Excel VBA | よく使うオブジェクト 学習支援マクロ を作る

Excel VBA VBA
スポンサーリンク

「よく使うオブジェクトTOP10」体験版

概要

  • シート名:VBAオブジェクト学習
  • 各ボタンを押すと、それぞれのオブジェクトの動作例+説明を自動で表示。
  • セル操作・シート操作・グラフ作成などを、実際に体験できます。
  • ボタン名:
    Range操作 / Cells操作 / Worksheet操作 / Workbook操作 / RowsCols操作 / Selection操作 / Chart操作 / Shape操作 / Application操作

セットアップ手順

  1. 新しいExcelファイルを開く
  2. Alt + F11 でVBAエディタを開く
  3. 「挿入」→「標準モジュール」を選択
  4. 下記のコードを貼り付け
  5. Excelに戻って、シート上にボタンを配置(開発タブ → 挿入 → フォームコントロール「ボタン」)
  6. 各ボタンに対応するマクロを割り当て(例: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操作は「オブジェクト → メソッド(動作)」の形になっています。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました