• 締切済み

エクセルについて

ある表より特定の文字が入力されている行を削除したいと考えております。過去を参照し下記のようなマクロを取り入れたいと思いました。 Sub macro1() Dim R As Range Do Set R = ActiveSheet.Range("F:F").Find(What:="削除したい文字列", LookAt:=xlPart) If R Is Nothing Then Exit Sub R.EntireRow.Delete Loop End Sub ここで質問です。F列に削除したい文字列がいくつかある場合上記をどのように改良すればよいでしょうか。ご教示の程よろしくお願い致します。

みんなの回答

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

はじめまして 単純にDo~Loopまでを文字列の数だけ作ればOKです。 しかし、スマートではありません。 この場合には、繰り返し命令の「For Each ~ Next」が便利だと思います。 以下は、「For Each ~ Next」の使用例です。 Sub test() Dim a For Each a In Array("A", "B", "C") MsgBox a Next End Sub

igu0625
質問者

お礼

ありがとうございました。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_find.html FindNext メソッド  PS. F列にオートフィルタをかけて・・・と言うのでは無理でしたか?

igu0625
質問者

お礼

ありがとうございました。

関連するQ&A