• ベストアンサー

【Excel VBA】4つの条件を満たすデータを行ごと削除

Excel2003を使用しています。 ある表の中のデータで、A列に次の条件に当てはまるデータを行削除したいのですが、マクロではどのように書いたらいいのでしょうか? (1) @(アットマーク)から始まる場合 (2) 数字から始まる場合 (3) ”キー”と入力がある場合 (4) 空白の場合 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

A列をループして、条件に合う行を削除するだけなので、条件文さえ書ければ、後は自動記録を利用することで作成可能でしょう。 質問文の(3)の条件が、含むなのか完全一致なのか不明ですが、参考までに。(条件が違う場合は、条件設定を修正してください) Sub test() Dim r As Long, rMax As Long Dim v, val As String, rng As Range rMax = Cells(Rows.Count, 1).End(xlUp).Row For r = 1 To rMax val = Cells(r, 1).Value v = Left(val, 1) If (v = "@") Or ("0" <= v And v <= "9") Or (val = "キー") Then Cells(r, 1).ClearContents Next r If Range(Cells(1, 1), Cells(rMax + 1, 1)).SpecialCells(xlCellTypeBlanks).Count > 1 Then Range(Cells(1, 1), Cells(rMax, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End If End Sub

kirari0821
質問者

お礼

ありがとうございました。 完璧に処理ができました。 本当に助かりました。

すると、全ての回答が全文表示されます。