2013-03-27 2 views
0

당신의 도움이 필요합니다. 이 코드를 실행 해요 경우sumifs 범위 셀 사용 - 오류 1004

,이 (("F2 : BL6991"Sheet1.Range에 관심을 수)) 발생 문제 없습니다

Colnumber = Sheet2.Range("A1").End(xlToRight).Column 
    'MsgBox (Colnumber) 

    For j = 3 To Colnumber 

     For i = 2 To Rownumber 
     Sheet2.Cells(i, j).Value = Application.WorksheetFunction.SumIfs(Sheet1.Range("F2:BL6991"), Sheet1.Range("E2:E6991"), Sheet2.Cells(i, 1)) 


     Next i 

    Next j 

그러나 나는 시도는이 코드로 변경하는 경우 (내가 Sheet1.Range 내에서 코드 (변경 : Sheet1.Range을 "F2를 BL6991") (셀 (2, J + 3), 셀 (6991, J + 3)))

Colnumber = Sheet2.Range("A1").End(xlToRight).Column 
     'MsgBox (Colnumber) 

     For j = 3 To Colnumber 

      For i = 2 To Rownumber 
      Sheet2.Cells(i, j).Value = Application.WorksheetFunction.SumIfs(Sheet1.Range(cells(2,j+3), cells(6991, j+3)) , Sheet1.Range("E2:E6991"), Sheet2.Cells(i, 1)) 


      Next i 

     Next j 

그것은 나에게 1004 오류를 주었다.

내가 잘못 할 방법도 그것을 해결하기 위해 어디

Sheet1.Range(cells(2,6), cells(6991, 6)) 

또는

Sheet2.Cells(i, j).Value = varResult 
     varResult = Application.WorksheetFunction.SumIfs(_ 
         Arg1:=Sheet1.Range(Cells(2, 6), Cells(6991, 6)), _ 
         Arg2:=Sheet1.Range("E2:E6991"), _ 
         Arg3:=Sheet2.Cells(i, 1)) 

당신이 나를 인도 할 수 :이 코드를 사용하는 경우

도, 그것은 나에게 또한 오류를했다?

SUMIF(range, criteria, [sum_range]) 

이 작동합니다 :

TIA

+0

(1) 왜 오히려 SUMIF보다 대한 SUMIFS를 사용하는 단일 기준 테스트 (2)'F2 : BL6991'은 단일 열이어야합니다. – brettdj

+0

이미 내 코드를 변경하려고합니다 :'Sheet2.Cells (i, j) .Value = Application.WorksheetFunction.SumIf (Sheet1.Range ("E2 : E6991 "), Sheet2.Cells (i, 1), Sheet1.Range (셀 (2, j + 3), 셀 (6991, j + 3))),'. 하지만 여전히 작동 ...하지만 아래 약간의 수정과 함께 –

답변

0

귀하의 주요 문제는 SUMIF는 3 개 인자를 보유하고 있다는 점이다

Dim Range1 As Range 
Dim Condition As Range 

Set Range1 = Worksheets("Sheet1").Range("F2:BL6991") 

Colnumber = Sheet2.Range("A1").End(xlToRight).Column 
For j = 3 To Colnumber 
    For i = 2 To 10 
     Set Condition = Worksheets("Sheet2").Cells(i, 1) 
     Sheet2.Cells(i, j).Value = Application.WorksheetFunction.SumIf(Range1, Condition) 
    Next i 
Next j 
+0

, 나에게 오류를 제공합니다 : '희미한 범위 1, 범위 2로 범위 희미한 상태로 범위 설정 범위 1 = 워크 시트 ("3G") 열 (5) . Colnumber = Sheet2.Range ("A1"). 엔드 (xlToRight) .Column '있는 MsgBox (Colnumber) J 들어 = 3 Colnumber에 K = J + 3 있는 MsgBox (K) 설정 범위 2 = 워크 (" 3G ").i = 2 To Rownumber 조건 설정 = 워크 시트 ("Sheet2 ") 셀 (i, 1) Sheet2.Cells (i, j). 값 = Application.W orksheetFunction.SumIfs (범위 2, 범위 1, 조건) 다음으로 단어, 그것은 대답의 진실성을 왜곡 포함하여 @WhisnuragaPutra 다른 사람의 답변을 편집하지 마십시오 단서 –

+0

에 대한 다음 j' 감사합니다. 문제를 해결하는 유용한 것을 추가하고 싶다면 자신의 대답을 추가하십시오. –

+0

이 기록되었습니다. 상기시켜 줘서 고마워. 불편을 끼쳐 드려 죄송합니다. –