2012-10-10 4 views
0

Excel VBA를 사용하여 분자 및 분모를 계산할 때 문제가 있습니다. num과 den은 엑셀 스프레드 시트에 데이터가 입력 된 분기로 제한됩니다. 여기 VBA 매크로를 사용하여 분자 및 분모 계산

은 예입니다 내가이 내 엑셀 시트에 열이 :이 예제를 바탕으로

Date_data_entered_for each_person Number of visits to the office 
1/1/2009           5 
1/10/2009           6 
2/10/2009           7 
5/12/2009           9 

을, 나는 =의 방문/수의 합계를 "방문의 평균 수를"계산 분기별로해야 명. 2009 년 1 사분기의이 예제에서 데이터는 3 명으로 입력되었으며 총 방문수는 5 + 6 + 7 = 18이므로 평균 = 18/3 = 6입니다.

코드는 서면은 다음과 같습니다 :

Function Visits(target_timeframe) 

    Target_Quarter = Format(target_timeframe, "YYYYq") 

    For vRow = 2 To 2000 

     entered_timeframe = Format(Sheets("sheet1").Range("A" & vRow).Value, "YYYYq") 

     Entered_Visits = Sheets("sheet1").Range("B" & vRow).Value 'equals value of column 

     If (entered_timeframe = Target_Quarter) Then 
      denominator = denominator + 1 
      If (Entered_Visits > 0) Then 
       numerator = numerator + 1 
      End If 
     End If 
    Next 

    If denominator > 0 Then 
     Average = numerator/denominator 
    Else 
     Average = "N/A" 
    End If 

End Function 

코드에 무엇이 잘못된 것인지 알 수 없습니다. 그것은 평균을 계산하지 않습니다. 누군가가이 문제로 나를 도울 수 있다면 매우 감사 할 것입니다.

시간 내 주셔서 감사합니다.

numerator = numerator + 1 

당신이 원하는 :

+1

나중에 참조 할 수 있도록 정확히 작동하지 않는 것을 지정해야합니다. 예를 들어 반환 된 평균값에 어떤 문제가 있습니까? 항상 1입니까? 다른 것? – LittleBobbyTables

답변

2

내가 대신 생각 현재 코드와

numerator = numerator + Entered_Visits 

, 당신은 단순히 분자에 때마다 1을 추가 할 때 실제로 당신이 원하는 분자에 방문수를 더하십시오.

관련 문제