2017-08-16 4 views
0

私はこれを数時間今作業していますが、今まで動作させることはできませんでした。エラーまでのループ424

私はフィルタリングされたデータをいくつか持っています。最初のデータセルをループで使用する変数として保存したいと思います。しかし、一度私のループがすべてのデータを削除し、それ自体が終了する必要があります、オブジェクトが必要な424エラーが表示されます。

コード

Sub jjjjj() 

Dim rng As Range 

ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Cells(1, 9).Select 

Set rnge = Selection 

Do Until (rnge.value = 0)   
    Range("i1").Activate 
    Selection.End(xlDown).Select 
    Selection.EntireRow.Delete     
Loop 

End Sub 

エラーラインは、私はvalueを取り出すだけでなく、

Do until (rnge.value = "")を試してみたDo Until (rnge = 0)

です。

ご協力いただければ幸いです。

+0

はどのようrnge.Valueはゼロの値を達成するのでしょうか? – jsotola

+0

私はちょうどここで推測しています、私は試しましたが、どちらもうまくいきません。基本的にコードはすべてのデータを削除しますが、 'ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Cells(1、9).Select'Selectのセルにはデータが含まれていないため、終了しません。 – Sky

答えて

0

私はあなたが以下のようなコードの後だと思い、コメントなどのコード内の説明:

Option Explicit 

Sub jjjjj() 

Dim FiltRng As Range 
Dim Rng As Range, C As Range 

' set the filtered range 
Set FiltRng = ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible) 

' loop through areas of Filtered range 
For Each Rng In FiltRng.Areas 
    ' loop through cells in column "I" of current area 
    For Each C In Rng.Columns("I") 
     If C.Value = 0 Then Exit Sub ' if value is 0 exit sub 
     C.EntireRow.Delete 
    Next C 
Next Rng 

End Sub 
+0

ありがとう、私は実行時エラー13を受け取ります。「C.Value = 0の場合」次に、値が0の場合はExit Sub 'を終了します。私はまだかなりvbaに新しいので、それを解決する方法がわからない。 – Sky

関連する問題