【現場で使えるVBA】Excelでシートを一括追加!テスト業務を効率化するマクロ活用術
CONTENTS
はじめに
テストエンジニアや品質保証の現場では、Excelを使ったエビデンス管理が欠かせません。テストケースごとに1枚ずつシートを作り、実行結果やスクリーンショットを貼り付ける運用をしているチームも多いはずです。
しかし、この「シートを手動で増やす」作業は単純ながら手間がかかり、枚数が増えるほどミスも発生しやすくなります。
そこで本記事では、指定した枚数のシートを一括で追加するVBAマクロを紹介します。導入が簡単で、現場ですぐ使える実践的な内容です。
なぜVBAを使うのか
VBA(Visual Basic for Applications)の強みは、Excelだけで完結できる点です。追加のインストールや権限申請が難しい環境でも、「マクロ有効ブック(.xlsm)」として共有するだけで自動化をチームに展開できます。
特に以下のような「決まった操作の繰り返し」に対して、VBAは有効です。
- テストケースごとのシート作成
- シート間の集計、確認結果の集約
- 重要セルの強調表示(赤枠・背景色)
- エビデンス画像の貼り付け位置の統一
こうした定型作業を自動化することで、担当者は「考えるべき作業」に時間を使えるようになります。
💻 現場でよくある課題
テスト案件によっては、数十〜数百のケースを1つのExcelファイルで管理します。その中で
- シートをコピーして命名
- 並び順を整える
- 不足分を追加する
といった作業をすべて手動で行うと、30分〜1時間が平気で消えます。
さらに、手作業には以下のようなリスクがあります。
- シート名のタイポ・重複
- コピー漏れ・ケース抜け
- 命名ルールが人によってバラバラ
これらはすべて、簡単なマクロで防げる問題です。
⚙️ コード例:指定数分シートを追加するマクロ
Sub AddSheets()
Dim i As Long
Dim sheetCount As Long
Dim baseName As String
' シート数を入力
sheetCount = InputBox("追加したいシートの枚数を入力してください。", "シート追加")
' シート名のベースを入力
baseName = InputBox("追加するシート名のベースを入力してください。", "シート名設定", "TestSheet")
' 入力チェック
If sheetCount <= 0 Then
MsgBox "1以上の数値を入力してください。", vbExclamation
Exit Sub
End If
' 指定数分シートを追加
For i = 1 To sheetCount
Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = baseName & "_" & i
Next i
MsgBox sheetCount & "枚のシートを追加しました!", vbInformation
End Sub
コードのポイント解説
1. InputBoxで現場ごとの条件に対応
sheetCount と baseName を毎回入力できるため、案件ごとに異なる命名ルールへ柔軟に対応できます。
2. シートは常に末尾に追加
Sheets.Add after:=Sheets(Sheets.Count) によって、既存シートの順番を崩さず新しいシートを最後に追加します。
3. 連番付きで自動命名
baseName & "_" & i により、たとえばベース名を「Case」と入力すれば「Case_1」「Case_2」…と自動生成されます。人が1枚ずつ名前を変える必要はありません。
実務での具体的な使い方
テストケース管理シート
1つのフォーマットシートを用意し、このマクロで必要数を一気に生成します。命名ルールを統一することで、レビュー時にも探しやすくなります。
日次・バッチごとのエビデンス
「Day」「Batch」などをベース名にして自動生成すれば、日付・バッチ単位での整理も簡単です。
再テスト・追試験用シートの追加
不具合修正後の再テスト用に、数枚だけ追加入力したい場合も、素早くシートを用意できます。
現場での運用のコツ
おすすめは、このマクロを組み込んだ「共通テンプレートブック(.xlsm)」をチームで共有することです。全員が同じマクロを使うことで、ファイル構造と運用ルールを揃えやすくなります。
※マクロ実行前には、念のため元ファイルのバックアップを保存しておくことを推奨します。
まとめ

| マクロ名 | AddSheets |
|---|---|
| 目的 | 指定数分のシートを自動追加し、連番付きで命名 |
| 効果 | 作業時間の短縮、命名ミス防止、運用ルールの統一 |
| 利用シーン | テストエビデンス管理、日次報告、バッチ検証、再テスト管理など |
小さな自動化でも、案件全体で見れば大きな時間削減につながります。まずはこのマクロから導入し、徐々に「現場で本当に役立つVBA」を積み上げていきましょう。