- 締切済み
エクセル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 どうすればいいかご教授お願いいたします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- real beatin(@realbeatin)
- ベストアンサー率82% (174/211)