VBAマクロを複数のシートに適用する方法:ボタンを使って連番入力を実行する

Visual Basic

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に連番を入力するマクロを作成することで、作業の効率を大幅に向上させることができます。

コメント

タイトルとURLをコピーしました