Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2151 / 13645 ツリー ←次へ | 前へ→

【69666】数式結果VALUEを無視して進むマクロ シューマッタ 11/8/18(木) 11:22 質問[未読]
【69667】Re:数式結果VALUEを無視して進むマクロ とおりすぎ 11/8/18(木) 11:55 回答[未読]

【69666】数式結果VALUEを無視して進むマクロ
質問  シューマッタ  - 11/8/18(木) 11:22 -

引用なし
パスワード
   Y列に数式結果0が入っていた場合に削除をする
マクロで、不具合がありまして、アドバイスをください。

数式の結果で#VALUEを出してる場合、マクロを実行すると型が一致しませんと
エラーがでてしまいます。
#VALUEの場合は削除せず通過させる場合には、どうすればよいでしょうか?


Sub delete()

Dim X As Long
Dim ws As Worksheet

Set ws = Worksheets("date")
X = Cells(Rows.Count, 1).End(xlUp).Row

Application.ScreenUpdating = False
ws.Range("A1:Z" & X).EntireRow.delete


Dim Rng As Range
Dim Rw As Long
Const Col = "Y"
Application.ScreenUpdating = False
For Rw = Cells(Rows.Count, Col).End(xlUp).Row To 1 Step -1
With Cells(Rw, Col)
If .HasFormula Then
If .Value = 0 Then .EntireRow.delete
End If
End With
Next

End Sub

【69667】Re:数式結果VALUEを無視して進むマクロ
回答  とおりすぎ  - 11/8/18(木) 11:55 -

引用なし
パスワード
   色々間違ったので消した。

IsErrorでセルの値を判別してから処理する。

>With Cells(Rw, Col)
>  If .HasFormula Then
    If Not IsError(.Value) Then
>      If .Value = 0 Then .EntireRow.delete
    End If
>  End If
>End With

2151 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free