| 
    
     |  | 「5行以上同じ値が続いていたら、その行はすべて削除」という作業をVBAで挑戦したいのですが、「型が一致しません」というエラーが出てしまい、うまく動作しません。(下のプログラム文で11行目のところでエラーが出ます) ローカルウィンドウで見る限りは、top、under、それぞれにちゃんと値は入っているように見えるのですが、エラーの原因はなんでしょうか。
 不細工なプログラム文で恐縮ですが、ご教授お願い致します。
 
 1 Sub test()
 2 Dim top, under, n As Integer
 
 3 n = 0
 
 4 Const 列 = 1
 5  Cells(Rows.Count, 列).End(xlUp).Select          '1列目の入力セルの最下行を選択
 6  under = ActiveCell.row                 'underにアクティブセルの行番号を代入
 
 7    For top = Cells(Rows.Count, 列).End(xlUp).row To 2 Step -1  '最下行から1行ずつ上昇
 8    n = n + 1                      'カウントをプラス1
 
 9    If Cells(top, 列) <> Cells(top - 1, 列) Then     '一つ上のセルと違う値のとき
 10     If n >= 5 Then                   '同内容のセルが5行以上あったならば
 11       Rows("top:under ").Delete shift:=xlUp      'topからunderまで行削除
 12       n = 0                     'カウントを0に戻す
 13       under = top - 1                'underの行番号を次の値まで移動
 14       Cells(under, 列).Select             'セルの位置も移動
 15     Else                        '同内容のセルが5行未満だったら
 16       n = 0
 17       under = top - 1
 18       Cells(under, 列).Select
 19     End If
 20    End If
 
 21  Next top
 
 22 End Sub
 
 
 ※変数について
 
 ┌ A…top
 A
 n  A
 A
 A
 └ A…under
 B
 B
 B
 
 |  |