|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):2016
* 아래줄에 질문을 작성하세요 >>
첨부된 파일의 하도거래내역시트에서 결과시트의 조건에 만족하는 합계결과를 함수(SUMPRODUCT, SUMIFS)말고 vba로 처리하려면 어떻게 해야 하는지 질문드립니다.
==============[조상현님 글에 대한 답변입니다]==============
워크시트 이벤트 개체를 이용하였습니다.
첨부화일 참고하세요.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.[A3:C3]) Is Nothing Then Exit Sub
Me.[C5] = getResult(Me.[A3], Me.[B3], Me.[C3])
End Sub
Private Function getResult(iYear As Integer, iMonth As Integer, sName As String)
Dim rDB As Range, rRow As Range
Dim vSum
Set rDB = Worksheets("하도거래내역").Range("A1").CurrentRegion
Set rDB = rDB.Offset(1).Resize(rDB.Rows.Count - 1)
vSum = 0
For Each rRow In rDB.Rows
If rRow.Cells(1, 1) = iYear And rRow.Cells(1, 2) = iMonth And rRow.Cells(1, 4) = sName Then
vSum = vSum + rRow.Cells(1, 5)
End If
Next
getResult = vSum
End Function
|
|