PCメモ

Excelを中心とした業務改善の記録

チェックした行の削除

 

D列に×を入力した行を削除する。

 

f:id:abv72:20201208213654p:plain

 

'最終行の取得
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row

Dim i As Long

 For i = LastRow To 2 Step -1

  '×と書かれているかどうか
  If Range("D" & i).Value = "×" Then

  Rows(i).Delete

 End If

Next i

 

チェック列に”×”が入力されたいたら、その行を削除する。

 

 Step -1 とすることで、漏れなく削除することができる。
For i = LastRow To 2 Step -1

 

f:id:abv72:20201208213734p:plain

 

注意

For i = 2 to LastRow

 

 

とした場合、2行目尾崎行が削除された後、iは3になる。

 

2行目尾崎が削除されると、3行目にあった神立は2行目に移動する。

 

次の動作としては3行目を見に行く為、3行目から2行目に移動した神立行を削除することができなくなってしまう。

 

f:id:abv72:20201208213510p:plain

×が入力された行が削除されずに残る。

f:id:abv72:20201208213540p:plain