エクセルVBAにて、特定文字の前に行を追加したい
こんにちは。
エクセルVBAにて、特定文字が含まれる行の前に空白の行を挿入するマクロはどのように書けばいいでしょうか。
そして、特定文字が連続して入力されている場合、連続した文字の個数と同じ行数を、連続した最初の文字の前に挿入したいと思っています。
特定文字=ラーメン
1行目 うどん
2行目 ラーメン(この上に3行挿入)
3行目 ラーメン
4行目 ラーメン
5行目 うどん
6行目 うどん
7行目 ラーメン(この上に1行挿入)
8行目 うどん
9行目 ラーメン(この上に2行挿入)
10行目 ラーメン
11行目 うどん
下記のようなコードを検索結果を参考に作成しましたが、これだとラーメンの上にすぐ空白の行が挿入されてしまい、連続した最初の特定文字の上にまとめて挿入する事ができません。
Sub Test()
Dim a As Range
Dim j As Long, k As Long
j = WorksheetFunction.CountIf(Columns(3), "ラーメン")
Set a = Range("C1")
Do
Set a = Columns(3).Find(What:="ラーメン" _
, After:=a _
, LookIn:=xlValues _
, LookAt:=xlWhole _
, SearchDirection:=xlPrevious)
If Not a Is Nothing Then
k = k + 1
a.EntireRow.Insert
End If
Loop While k < j
End Sub
どうすればいいかご教授お願いいたします。
お礼
1回で効果があるものと思っていました。3回やって効果があったので、これで良しとします。