2016-10-25 2 views
0

이의 내가 2 열이 있다고 가정 해 봅시다 나는 제품 ID의 행을 루프에 VBA 코드를 작성하고 3 열을 만들 수 있도록하려면VBA 실행 합

Product ID Price Average 
1    4  5 
1    4  5 
1    7  5 
2    3  3 
2    3  3 
3    9  9 

(다음 표는 결과 포함) 그것은 평균값을 가지고있다.

For 문이 작동한다고 생각하지만 각 ID를 저장하기 위해 임시 변수를 어떻게 정의합니까?

감사합니다.

+0

당신은)'WorksheetFunction.AverageIf을 (사용할 수있는 '하거나 ("= AVERAGEIF ("& SomethingHere & ")는 평가'사용 ")', 각 ID를 변수에 저장할 필요가 없습니다. 또한 수식을 전체 범위에 적용한 후 수식을 제거 할 수 있습니다. – Vasily

+2

AVERAGEIF가 Excel에서 원하는 것을 할 수있을 때 VBA 루프를 넣을 특별한 이유가 있습니까? –

답변

1

Vasily와 L.Dutch가 말한대로 AVERAGEIF() 기능 만 있으면 충분합니다. 모든 세포를 통해 루프를 원하는 경우,이 같은 Do While 루프를 사용할 수 있습니다

Sub avg() 
Dim i As Integer 
i = 2 
Do While Range("A" & i).Value <> "" 
    Range("C" & i).FormulaR1C1 = "=AVERAGEIF(C1,RC1,C2)" 
    i = i + 1 
Loop 
End Sub