Excel使用歴約20年の杉山貴隆です。
今回は繰り返し入力を支援するExcel VBAマクロを3つ共有します。VBAのエディタにコピペするだけで簡単に利用できます。
特に3番目に紹介する「対話型」のVBAマクロは質問に答えるだけで任意の文字列や数字を下方向または右方向に繰り返してくれる便利な機能を持っているので、色々なシーンで使えると思います。参考にしてみてください。
下方向に繰り返し入力するマクロ
はじめに下方向に繰り返し入力するExcel VBAマクロです。実行例とコードを以下に示します。
Sub repeat01() Dim i For i = 1 To 10 ActiveCell.Cells(i, 1) = "ぽよ~ん" Next i End Sub
このVBAマクロを実行すると、現在選択しているセルから順に下方向に「ぽよ~ん」を10回繰り返して入力します。次の通りカスタマイズしていただくとより使いやすいと思います。
- 繰り返しの文字列を変えたいとき
- コード内の「ぽよ~ん」のところを他の文字列や数字に変える
- 繰り返しの回数を変えたいとき
- コード内の「For i = 1 To 10」の10のところを他の数値に変える
右方向に繰り返し入力するマクロ
次に右方向に繰り返し入力するExcel VBAマクロです。実行例とコードを以下に示します。
Sub repeat02() Dim i For i = 1 To 10 ActiveCell.Cells(1, i) = "ぽよ~ん" Next i End Sub
このVBAマクロを実行すると、現在選択しているセルから順に右方向に「ぽよ~ん」を10回繰り返して入力します。次の通りカスタマイズしていただくとより使いやすいと思います。
- 繰り返しの文字列を変えたいとき
- コード内の「ぽよ~ん」のところを他の文字列や数字に変える
- 繰り返しの回数を変えたいとき
- コード内の「For i = 1 To 10」の10のところを他の数値に変える
対話しながら繰り返し入力できるマクロ
最後に対話しながら繰り返し入力できるExcel VBAマクロです。実行例とコードを以下に示します。
Sub repeat03() Dim i As Long Dim j As String Dim str As String Dim ans As Integer str = InputBox("繰り返したい文字や数字は?", "確認") If str = "" Then Exit Sub Do j = InputBox("繰り返したい回数は?(半角数字で入力)", "確認") If j = "" Then Exit Sub Loop Until IsNumeric(j) ans = MsgBox("下方向に繰り返す場合「はい」、右方向に繰り返す場合「いいえ」を選択", vbYesNoCancel, "確認") If ans = vbYes Then For i = 1 To j ActiveCell.Cells(i, 1) = str Next i ElseIf ans = vbNo Then For i = 1 To j ActiveCell.Cells(1, i) = str Next i End If End Sub
実行すると「繰り返したい文字や数字は?」「繰り返したい回数は?」と質問されます。回答した通りに繰り返し処理が実行されます。繰り返しの方向は「下」「右」に対応しています。
この記事のまとめ
今回は文字・数字を繰り返し入力するExcel VBAマクロをご紹介しました。簡単なプログラムですが、使い方次第で普段の作業の省力化が図れると思います。
以上、参考になれば嬉しいです。