• ベストアンサー

A列に特定の文字と数字があればその行を削除

A列には大半が文字が入力されており特定の文字"自分"と一部数字があればその2,3,4行を削除し以下のように行を詰めたいのですがどなたかVBAコードの解る方お願いします。   A  B  C    1 鈴木 あ い     2 自分 う え       3 123 お あ    4 368 え う 5 江藤 え う    ↓   A  B  C 1 鈴木 あ い 2 江藤 え う

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

No1の追加です。 もし、加藤1とか1加藤などのような行も削除対象でしたら Sub Example2() Dim i As Long, j As Long Dim MyNumeric As Boolean For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1 MyNumeric = True For j = 1 To Len(Cells(i, "A").Value) MyNumeric = Mid(Cells(i, "A").Value, j, 1) Like "[!0-9]" If MyNumeric = False Then Exit For End If Next j If Cells(i, "A").Value = "自分" Or MyNumeric = False Then Cells(i, "A").EntireRow.Delete End If Next i End Sub

kuma0220
質問者

お礼

ありがとうございます。勉強になり助かりました。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

数値のセルが数値しかない場合だと Sub Example() Dim i As Long For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1 If Cells(i, "A").Value = "自分" Or IsNumeric(Cells(i, "A").Value) Then Cells(i, "A").EntireRow.Delete End If Next i End Sub