SUMIFS 문이 포함 된 Sub를 작성했습니다. yearRange가 gEvent Value와 일치하고 yearRange.Offset (0, 2)가 gEvent.Offset (0,2) Value와 일치 할 때 특정 열 (yearRange.Offset (0, i + 3))을 합계하는 경우 합계를 원합니다. 문제를 검색하고 MSDN 웹 사이트 (매우 설명 적이 지 않음)를 확인 했으므로 작동하는 기능을 얻을 수 없습니다. 가능한 유일한 아이디어는 내가 사용하고있는 기준이 정수가 아닌 문자열이라는 것입니다. 따라서 gEvent.Value는 "ABCD"이고 gEvent.Offset (0,2)는 "DEFG"일 수 있습니다.여러 문자열 기준을 사용하는 VBA의 SUMIFS
나는 여기에 위반되는 코드를 실행하려고하면 :
이itemPY = Application.WorksheetFunction.SumIfs(yearRange.Offset(0, i + 3), yearRange.Value, "=" & gEvent.Value & """, yearRange.Offset(0, 2), " = " & gEvent.Offset(0, 2).Value & """)
내가 수신하고있는 오류는 다음과 같습니다 '424'오류 런타임 : 개체 여기
필요가있다 완전한 형태의 서브 :
Sub CombineData()
Dim eventSheet As Worksheet
Dim yearSheet As Worksheet
Dim yearRange As Range
Dim eventRange As Range
Dim gYear As Range
Dim gEvent As Range
Dim i As Integer
Dim itemCount As Integer
Dim itemPY As Integer
Set eventSheet = ThisWorkbook.Sheets("previousEvent")
Set yearSheet = ThisWorkbook.Sheets("previous12")
Set eventRange = eventSheet.Range("A3", eventSheet.Range("A3").End(xlDown))
Set yearRange = yearSheet.Range("A4", yearSheet.Range("A4").End(xlDown))
For Each gEvent In eventRange
i = 0
gEvent.Offset(0, 16).Value = gEvent.Value
gEvent.Offset(0, 17).Value = gEvent.Offset(0, 1).Value
gEvent.Offset(0, 18).Value = gEvent.Offset(0, 2).Value
itemCount = Application.WorksheetFunction.CountIf(yearRange, gEvent.Value)
For i = 0 To 11
itemPY = Application.WorksheetFunction.SumIfs(yearRange.Offset(0, i + 3), yearRange.Value, "=" & gEvent.Value & """, yearRange.Offset(0, 2), " = " & gEvent.Offset(0, 2).Value & """)
gEvent.Offset(0, 19 + i).Value = itemPY/Item
Next i
Next gEvent
End Sub
내가 얻을 수있는 도움이된다면 도움이 될 것입니다.
내가가는 오전 문자열의 최종 결과는 "= ABCD"여기서 gEvent.Value = ABCD – William
다음과 같이하십시오. itemPY = Application.WorksheetFunction.SumIfs (yearRange.Offset (0, i + 3), yearRange, gEvent.Value & "" ", yearRange.Offset 0,2), gEvent.Offset (0, 2) .Value & "" "") ' –
감사합니다. 문자열 연결의 따옴표 문제입니까? – William