2016-10-03 9 views
0

私の人生にとっては、これをどうやって行うのか理解できません!Excel VBマクロ - 特定のデータとその上の4行を含む行を検索して削除する

マクロを作成しようとしていますが、これはクイックアクセスツールバーに配置され、列P = "Service to Claim Count 1"とその上の4行を見つけて削除します。

ファイルは数千にものぼっているので、文書全体を検索して5行すべてを削除する必要があります(検索データのメイン行と上記の4つの行)。

私はあなたが助けてくれることを願っています! :)

+1

「P to Claim Claim 1」のセルを列Pに見つけて、その行*と*を削除することを意味しますか? – BruceWayne

+0

はい、まさに!それは可能です教えてください! :) –

答えて

1
Sub delRows() 
Dim txtCel As Range 
Dim timesFound As Long, i As Long 
timesFound = WorksheetFunction.CountIf(Range("P:P"), "Service to Claim Count 1") 
For i = 1 To timesFound 
    Set txtCel = Columns(16).Find(what:="Service to Claim Count 1") 
    txtCel.Offset(-4).Select 
    Range(txtCel, txtCel.Offset(-4)).EntireRow.Delete 
Next i 
End Sub 

かなりまっすぐです。テキストを含むセルを見つけて、その行とその上の4つの行を削除します。

+0

はい、列Pに空白の行がたくさんあります。 各「レコード」は5行です。行1は常に数値になり、行2にはサービス要求カウント1,2,3,4または5があり、行3,4,5は常に空白になります。 –

+0

@TimothyGould - 行2に「サービス要求請求数1」がある場合、どのように前の4行を削除すると思いますか?または、たいていの場合、以前の4行を削除したいのですが、それよりも小さければ、そうでしょうか? – BruceWayne

+0

前の4行を削除し、「Service to Claim Count 1」を含む行を前の「レコード」に戻し、その上にある空の行をすべて削除します。上記のマクロは動作しますが、それを繰り返す方法はありますか?削除する必要がある数千ものレコードがあります。 –

関連する問題