2016-06-04 2 views
1

내 코드에서이 오류가 계속 : 내가이 코드에서 할 노력하고있어하면 B 열의 매 7 개 인스턴스를 통해 루프입니다VBA Excel 중단 모드에서 코드를 실행할 수 없습니까?

Sub Button2_Click() 
    Dim start As Integer 
    Dim i As Integer 
    Dim j As Integer 
    Dim k As Integer 
    Dim amount As Integer 
    amount = 0 
    Dim answer As Range 
    Set answer = Range("K22:K28") 

    For k = Range("K22").Row To Range("K28").Row 
     For j = Range("B11").Row To Range("B371").Row Step 7 
      amount = amount + j 
     Next 
     k = amount 
     amount = 0 
    Next 
End Sub 

, 자신의 가치를 얻을 수와 함께 합계의 저장 K22를 시작하는 셀에서 합계하고, 다음 B 셀 (이 경우에는 B12)에서 루프를 다시 시작하고, B12의 합계를 K23에 저장합니다. 여기서 내가 뭘 잘못하고 있니? 내게 알려주십시오, 올바른 방향으로 향하는 어떤 포인터가 좋을 것입니다.

버튼을 클릭하면 내 프로그램이 실행되고 계산 및 표시되기 시작합니다.

+0

For 루프 중 하나에 다음이 없습니다. 코드가 작동하는지 분석하지 않았지만 End Sub 바로 위에 Next 문을 놓은 다음 "amount = 0"바로 위에 Next 문을 입력하면 루프에 대한 구문이 올바르 게됩니다. –

+0

범위 변수에 범위를 지정하려면'Set' 키워드를 사용해야합니다. 이미 행을 알고있을 때'For k = 22 to 28'을 사용해야합니다. 'j'도 같고'k'는 범위 변수가 아닌 정수이므로'k = amount' 만 사용하십시오. – newguy

+0

흠, 데비 C가 나에게 말한 것과 뉴기 어가 나에게 말한 것의 대부분을 바꿨지 만, 나는 newguy의 설명에 약간의 상실감을 느꼈다. 단지 내가 바보스러워서 ... 나는 아직도 같은 오류가 발생하고있다 :/확실하지 않다. 뭐가 잘못 됐어. –

답변

2

이것은 내가 당신이 쓰고 있다고 생각하는 것입니다.

Sub Button2_Click() 
    Dim b As Long, k As Long 
    Dim amount As Double 

    For k = 22 To 28 
     For b = 11 + (k - 22) To 371 + (k - 22) Step 7 
      amount = amount + Range("B" & b) 
     Next b 
     Range("K" & k) = amount 
     amount = 0 
    Next k 
End Sub 

VBE에서 그것을 변경 한 후 워크 시트로 돌아 Alt 키 + Q를 사용합니다.

+0

와우 나는 이것이 정확하다고 생각한다! 먼저 테스트 해보아야합니다.하지만 적어도 생성 된 값은 정확해야합니다. 고마워요! –

관련 문제