アプリ版:「スタンプのみでお礼する」機能のリリースについて

5000行ほどあるエクセルファイルで、
「■」の文字がある行の直前に空白行を挿入したいと思っています。
「■」のある行が1500行ほどあるので、
手作業は大変かと思い、マクロでやるのはどうかな?と
おもったのですが、既存のマクロを少し修正することはあっても
初めからマクロを組んだことがないので、
どう書けばよいかわかりません。

データはA列にしか無い状態で、
「■」がある行の直前に空白行を挿入するマクロは
どのように書けばよいのでしょうか?
ご教授のほどお願いします。

A 回答 (2件)

こんばんは。



すでに回答がでていますが、
参考までにサンプルコードを作ってみました。

'======標準モジュールに記述=========================================
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
    • good
    • 3
この回答へのお礼

popupltさんの回答で解決しましたが、
わざわざありがとうございます。

お礼日時:2009/12/20 00:35

>初めからマクロを組んだことがないので、



一般機能でもできると思います。
検索で「■」[すべて検索]
下に検索されたセルが表示されるので
[CTRL]+[A]を押して、すべて選択します。
最後の「■」にカーソルがあるので、そのセルで右クリック。
[挿入]をクリック。[行全体]を選択して[OK]
いかがでしょう。
    • good
    • 4
この回答へのお礼

ありがとうございます。
解決しました!

お礼日時:2009/12/20 00:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています