Excel VBAを使って、複数のシートに同じ処理を一度で適用する方法を解説します。特に、指定した範囲内で連番を入力する処理を、シート1のボタンをクリックするだけでシート7からシート27に自動で実行する方法を説明します。
VBAマクロの概要
まず、VBAマクロを使うことで、特定の範囲内のセルに連番を自動的に入力することができます。ここでは、A列に連番を入力する方法と、シート1に作成したボタンを使ってその処理を複数のシートに対して一括で実行する方法を解説します。
基本となる連番入力マクロの作成
最初に紹介されたマクロは、A列に連番を入力するもので、B列にデータが入力されている行にのみ連番を入力します。以下はその基本的なVBAコードです。
Sub 連番入力()
Dim i As Long
Dim N As Long
For i = 6 To 68
If Cells(i, "B").Value <> "" Then
N = N + 1
Cells(i, "A").Value = N
End If
Next i
End Sub
このコードは、B列にデータがある行をチェックし、A列に連番を入力します。最初のセルから順番に、空白のセルを飛ばして連番を入力します。
シート1のボタンを使ってマクロを実行
次に、シート1のボタンをクリックすることで、シート7からシート27に同じ処理を行う方法を説明します。以下のコードをVBAに追加して、ボタンにマクロを割り当てます。
Sub 連番入力全シート()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Index >= 7 And ws.Index <= 27 Then
ws.Activate
Call 連番入力
End If
Next ws
End Sub
このコードは、シート7からシート27までを順に処理し、それぞれのシートに対して連番入力のマクロを実行します。
ボタンにマクロを割り当てる
シート1にボタンを配置し、そのボタンに上記の「連番入力全シート」マクロを割り当てる方法は以下の通りです。
- シート1にボタンを追加します。
- ボタンを右クリックして「マクロの割り当て」を選択します。
- 「連番入力全シート」を選び、「OK」をクリックします。
これで、ボタンをクリックすることで、シート7からシート27に自動で連番を入力できるようになります。
まとめ
VBAを使うことで、Excelの複数のシートに対して同じ処理を簡単に適用することができます。シート1のボタンを使ってシート7からシート27に連番を入力するマクロを作成することで、作業の効率を大幅に向上させることができます。


コメント