|
▼tak さん:
すみません。仕様を誤解してました m(__)m
>「5行以上同じ値が続いていたら、その行はすべて削除」
ということでしたので、上のでは仮に動いたとしても、すべて削除は
してくれません。
とりあえず、以下に修正します。
Sub test3()
Dim i As Long, under As Long, n As Long
Const 列 = 1
Dim v1 As String, v2 As String
'1列目の入力セルの最下行番号
under = Cells(Rows.Count, 列).End(xlUp).Row
v2 = Cells(under, 列).Value
For i = under To 2 Step -1 '最下行から1行ずつ上昇
v1 = Cells(i - 1, 列).Value
If v1 <> v2 Then
GoSub CheckCount
Else
n = n + 1 - (n = 0)
End If
v2 = v1
Next i
GoSub CheckCount
Exit Sub
CheckCount:
If n >= 5 Then
With Rows(i).Resize(n)
.Select '.Delete
Stop
End With
n = 0
End If
Return
End Sub
|
|