나는 평균값을 계산하는 루핑 매크로를 가지고 있습니다. 희소 한 경우에 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, 당신은 "On Error Resume Next"해결책을 피하려고합니다. 왜냐하면 그것은 당신이 이미 알고있는 하나의 에러를 다루는 "blind"이기 때문에 (당신이 알지 못하는 다른 가능한 에러들과 함께) 그리고 그것은 좋지 않다). _real_ 에러 핸들링으로 반환 된 값에서 가능한 에러를 감쌀 수있는'Application'의 오브젝트 기능을 사용하거나 사용하도록 허용하는 것이 가장 좋습니다. (제 대답 참조) – user3598756