2016-10-20 6 views
0

통합 문서의 한 시트에서 비용을 계산하는 코드를 작성했습니다. 는 계산 한 후 그 값이 같은 통합 문서VBA - 계산 된 값을 다른 시트의 셀에 할당

Sub cost() 

    Dim irow As Integer 
    Dim pointer1 As Single 
    Dim Kgl_PG_Campaign As Single 
    Kgl_PG_Campaign = 0 
    pointer1 = 0 
    irow = 2 
    Do Until Cells(irow, 3).Value = "" 
     If Worksheets("ws2").Cells(irow, 11).Value = "Kagal" And Cells(irow, 12).Value = "PG" And Cells(irow, 24).Value = "Campaign" Then 
      pointer1 = Cells(irow, 29).Value 
      Kgl_PG_Campaign = Kgl_PG_Campaign + pointer1 
     End If 
    irow = irow + 1 
    MsgBox Kgl_PG_Campaign 
    Worksheets("COPQ_online").Range("C7").Value = Kgl_PG_Campaign 
    Loop 


End Sub 

Error - run time error 9 - script out of range의 다른 시트에 표시 할.

어쩌면이 같은 후 있습니다

+0

코드를 단계별 실행하면 어디에서 실패합니까? 모든 장이 통합 문서에 있습니까? –

+0

오류에 관해서는 일부 명명 된 참조에 오류가있는 것으로 보입니다. 워크 시트 이름이 올바른지 확인하십시오. [아래 첨자가 범위를 벗어남 (오류 9)] (https://msdn.microsoft.com/en-us/library/aa264519(v=60) .aspx)도 참조하십시오. 또한'If' 문과'pointer1 = Worksheets ("ws2") 줄의 각'And' 부분에'Worksheets ("ws2") 셀 (irow, ##)을 넣어야합니다. irow, 29). 가치'. 워크 시트 참조가 없으면 ActiveWorkbook을 참조하게됩니다. –

+0

다음 줄은 문제 워크 시트 ("COPQ_online")의 원인입니다. 범위 ("C7"). 값 = MsgBox까지의 Kgl_PG_Campaign 최대 Kgl_PG_Campaign 코드가 정상적으로 작동합니다. –

답변

0

도와주세요 : 나는 당신이 행 세에서 "WS2"열 "C"세포를 통해 루프 후 Worksheets("COPQ_online")에 기록 할 것으로 가정

Option Explicit 

Sub cost() 
    Dim irow As Long 
    Dim Kgl_PG_Campaign As Single 

    Kgl_PG_Campaign = 0 
    irow = 2 
    With Worksheets("ws2") 
     Do Until Cells(irow, 3).Value = "" 
      If .Cells(irow, 11).Value = "Kagal" And .Cells(irow, 12).Value = "PG" And .Cells(irow, 24).Value = "Campaign" Then 
       Kgl_PG_Campaign = Kgl_PG_Campaign + .Cells(irow, 29).Value 
      End If 
      irow = irow + 1 
      MsgBox Kgl_PG_Campaign 
     Loop 
    End With 
    Worksheets("COPQ_online").Range("C7").Value = Kgl_PG_Campaign 
End Sub 

첫 번째 빈 셀보다 먼저 오는 셀까지

+0

여기서 "ws2"열 "C"셀을 두 번째 줄부터 첫 번째 빈 줄 앞에 내림차순으로 반복 한 후 Worksheets ("COPQ_online")에 쓰기를 원한다고 가정합니다. –

+0

왜 편집 할 수 없습니까? 코멘트 –

+0

대신 코드가 2 줄 아래로 내려 가면이 코드는 워크 시트 ("COPQ_online")에서 동일한 오류가 발생합니다. 범위 ("C7"). 값 = Kgl_PG_Campaign 내 코드에서 제공하는 것과 동일한 오류입니다. upto msg box 두 코드가 정상적으로 작동하고 있습니다. –