• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C列の下4桁の数字 「0926」 以下の行を削除するには?(例外))

C列の下4桁の数字「0926」以下の行を削除するには?

このQ&Aのポイント
  • C列の下4桁の数字「0926」以下の行を削除したいと思っております。C列のデータのある最終行から上へ順に参照して行き、最初に「0926」以下の数字があったら、その行から上へ「Rows(2)」までの行を全部削除するにはどのようなコードになりますでしょうか?
  • C列の数字は必ず、7桁か8桁です。上2桁は月数字1~12のためです。
  • 実行前の例では、C列の数字が「4030907」「4030914」「4030923」「4030931」「4030940」「4030947」「4030914」「4030923」「4030931」「4030940」であり、実行後は「4030931」「4030940」のみが残ります。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

#1です。 修正します。(変数iの宣言が重複していました。) Private Sub 指定数字以下の行を削除() Dim i As Integer, n As Long, lr As Long For i = 1 To Worksheets.Count - 1 With Worksheets(i) lr = .Cells(.Rows.Count, "C").End(xlUp).Row For n = lr To 2 Step -1 If Val(Right(.Cells(n, "C"), 4)) <= 926 And .Cells(n, "C") <> "" Then .Rows("2:" & n).Delete Exit For End If Next n End With Next i End Sub

oshietecho-dai
質問者

お礼

ご回答誠に有難うございました。 俊足でした、当方にはまだ、未知なことです。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Private Sub 指定数字以下の行を削除() Dim i As Integer, i As Long, lr As Long For i = 1 To Worksheets.Count - 1 With Worksheets(i) lr = .Cells(.Rows.Count, "C").End(xlUp).Row For n = lr To 2 Step -1 If Val(Right(.Cells(n, "C"), 4)) <= 926 And .Cells(n, "C") <> "" Then .Rows("2:" & n).Delete Exit For End If Next n End With Next i End Sub こんな感じかな

関連するQ&A