2011-03-11 2 views
0

저는이 문제를 해결하기 위해 상하 포럼을 해왔습니다. 각 광고 항목에 특정 날짜 및 달러 값이 포함 된 데이터 시트가 있습니다. 저는 매월 줄 수를 매기고 매월 달러 합계를 만들고 싶습니다. 나는 일 것이라고 생각하는 기능을 발견하고 내 요구에 부합하도록 수정 :VBA Excel 개수 기능에서 유형 불일치 오류가 발생했습니다.

범위 ("P5000") 값 = MonthOppCount ("H5 : 다음 다른 서브 루틴에서 함수를 호출

Public Function MonthOppCount(rng As Range, sdate As Date, edate As Date) As Long 

    Dim Cel As Range 
    Dim MonthCount As Integer 
    Dim MonthRev As Long 

     For Each Cel In rng 
      If Cel >= sdate And Cel < edate Then 
       ' MonthCount = MonthCount + 1 
       MonthRev = MonthRev + ActiveCell.Offset(0, -3).Value 
      End If 
     Loop 

    MonthOppCount = MonthRev 
    ActiveCell.Offset(0, 1).Value = MonthCount 

End Function 

합니다. : H5000 ", Month1, Month2)

강조 표시된 H5 : H5000과 타입이 일치하지 않습니다. 어떤 아이디어? 아니면, 목표를 달성하는 쉬운 방법? 3 개의 워크 시트가 관련되어 있고이 코드가이 코드를 가져올 위치가 아니기 때문에이 함수를 셀에 설정할 수는 없습니다.

덕분에, 지젤

답변

3

는 "H5 : H5000는"단지 문자열입니다; VBA는 자동으로 범위로 변환하지 않습니다.

Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2) 

에 :

Range("P5000").Value = MonthOppCount(Range("H5:H5000"), Month1, Month2) 
에서 함수를 호출하는 줄을 변경