Excel VBAを学ぶときは「セル操作」と「シート操作」を分けて理解するとスッキリします。初心者向けに、例題を交えて整理してみます。
セル操作(Rangeオブジェクト)
セルやセル範囲を対象にする操作です。
よく使うのは 値の入力・取得、書式設定、数式の設定 など。
基本例
Sub CellExamples()
' A1に文字を入力
Range("A1").Value = "こんにちは"
' B1に数値を入力
Range("B1").Value = 100
' C1に数式を入力
Range("C1").Formula = "=SUM(A1:B1)"
' D1の背景色を黄色に
Range("D1").Interior.Color = RGB(255, 255, 0)
' E1の文字を赤・太字に
With Range("E1").Font
.Color = RGB(255, 0, 0)
.Bold = True
End With
End Sub
VB👉 ポイント
Value→ 値を入れる/取り出すFormula→ 数式を入れるInterior.Color→ 背景色Font→ 文字の見た目
シート操作(Worksheetオブジェクト)
シートそのものを対象にする操作です。
追加・削除・名前変更・コピー・移動 などが代表的。
基本例
Sub SheetExamples()
' 新しいシートを追加
Worksheets.Add
' シート名を変更
Worksheets(1).Name = "売上"
' シートをコピー(最後に追加)
Worksheets("売上").Copy After:=Worksheets(Worksheets.Count)
' シートを削除(確認メッセージなし)
Application.DisplayAlerts = False
Worksheets("売上").Delete
Application.DisplayAlerts = True
End Sub
VB👉 ポイント
Worksheets.Add→ 新しいシートを作るWorksheets("名前")→ 名前で指定Worksheets(番号)→ 左から順番で指定Deleteは確認ダイアログが出るので、消すときは注意
セル操作とシート操作を組み合わせる
実際のVBAでは「どのシートの、どのセルを操作するか」を組み合わせて使います。
例題:シート「集計」のA1に日付を入れる
Sub CombineExample()
Worksheets("集計").Range("A1").Value = Date
End Sub
VB例題:全シートのA1に「月次レポート」と書く
Sub AllSheetsExample()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Range("A1").Value = "月次レポート"
ws.Range("A1").Font.Bold = True
Next ws
End Sub
VBまとめ
- セル操作 → 値や書式をいじる(Rangeオブジェクト)
- シート操作 → シートを追加・削除・名前変更(Worksheetオブジェクト)
- 実務では「シートを指定して、その中のセルを操作する」流れが基本
ここまでで「セル操作」と「シート操作」の違いはイメージできましたか?
次のステップとしては「繰り返し処理(For Each)」を使って、複数シートや複数セルをまとめて操作する練習をすると一気に応用が広がります。
