- ベストアンサー
特定文字のある行の前に空白行を挿入したい
5000行ほどあるエクセルファイルで、 「■」の文字がある行の直前に空白行を挿入したいと思っています。 「■」のある行が1500行ほどあるので、 手作業は大変かと思い、マクロでやるのはどうかな?と おもったのですが、既存のマクロを少し修正することはあっても 初めからマクロを組んだことがないので、 どう書けばよいかわかりません。 データはA列にしか無い状態で、 「■」がある行の直前に空白行を挿入するマクロは どのように書けばよいのでしょうか? ご教授のほどお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>初めからマクロを組んだことがないので、 一般機能でもできると思います。 検索で「■」[すべて検索] 下に検索されたセルが表示されるので [CTRL]+[A]を押して、すべて選択します。 最後の「■」にカーソルがあるので、そのセルで右クリック。 [挿入]をクリック。[行全体]を選択して[OK] いかがでしょう。
その他の回答 (1)
- ka_na_de
- ベストアンサー率56% (162/286)
こんばんは。 すでに回答がでていますが、 参考までにサンプルコードを作ってみました。 '======標準モジュールに記述========================================= Sub test() On Error GoTo Err_ Dim c As Object Dim myKey As String Dim myRange As Range Dim UnionRange As Range Dim fAddress As String Set myRange = Range("A1", Cells(Rows.Count, "A").End(xlUp)) myKey = "■" With myRange Set c = .Find(What:=myKey, LookIn:=xlValues, lookat:=xlPart, _ SearchOrder:=xlByColumns, MatchByte:=False) If Not c Is Nothing Then fAddress = c.Address Do If UnionRange Is Nothing Then Set UnionRange = c Else Set UnionRange = Union(c, UnionRange) End If Set c = .FindNext(c) If c.Address = fAddress Then Exit Do Loop End If UnionRange.EntireRow.Insert End With Bye_: Set myRange = Nothing Set UnionRange = Nothing Set c = Nothing Exit Sub Err_: MsgBox Err.Description, vbCritical Resume Bye_ End Sub
お礼
popupltさんの回答で解決しましたが、 わざわざありがとうございます。
お礼
ありがとうございます。 解決しました!