私は3つの値の平均を計算するループマクロを持っています。まれに、3つの値がすべて空白になることがあるので、平均値が空白になるようにセルを残し、ループの次の繰り返しでマクロを実行する必要があります。すべての空白値の平均とエラー処理
私は以前はエラー処理をしていませんでしたので、それに接する最良の方法は不明です。ここに私のコードは次のとおりです。
Sub sumavg()
Dim i As Long, j As Long
With Worksheets("datasummary")
For i = 1 To .Range("A" & .Rows.Count).End(xlUp).Row Step 5
For j = 1 To 6
With .Rows(i + 2)
.Columns(19 + j).Value = Application.WorksheetFunction.Average(.Columns(j), .Columns(j + 5), .Columns(j + 10))
End With
With .Rows(i + 3)
.Columns(19 + j).Value = Application.WorksheetFunction.Average(.Columns(j), .Columns(j + 5), .Columns(j + 10))
End With
Next
Next
End With
End Sub
てみ 'エラーで再開Next' – nightcrawler23
@ nightcrawler23私はそれを検討しています。エラーが実際には処理されないので、結果は予測できないかもしれないと心配しました。そして、その行はマクロの先頭に書かれているのでしょうか、それともループに書かれていますか? – shecodes
@shecodesの場合、あなたは既に知っている1つのエラーをカバーしている "盲目的な"ものなので、On Error Resume Nextを回避しようとしています。それは良いことではない)。 _real_エラー処理により、 'Application'のオブジェクト関数を返すことができ、返された値に可能なエラーをラップする機能があります(私の答えを参照してください) – user3598756