|
> With Worksheets("上期")
> Do While IsError(myRowSJ) = False
> myRowSJ = Application.Match(sakujyol, .Range("A:A"), 0)
> .Cells(myRowSJ, "A").EntireRow.Delete shift:=xlUp
> Loop
> End With
上記のコードに問題があると思われます。
削除するデータが見つからず、myRowSJにエラー値が格納された場合、
次の行[.cells(myRowSJ,〜]でエラー値を参照してしまいエラーが発生します。
例えば、下記のようにループを抜ける条件の位置を変えてみてはいかがでしょうか。
With Worksheets("上期")
Do
myRowSJ = Application.Match(sakujyol, .Range("A:A"), 0)
If (IsError(myRowSJ)) Then Exit Do
.Cells(myRowSJ, "A").EntireRow.Delete shift:=xlUp
DoEvents '←お好みで
Loop
End With
|
|