2016-10-20 6 views
0

ブックの1枚のシートからコストを計算するコードを作成しました。 は、計算した後、私は、その値が同じワークブック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'文の' And'部分と 'pointer1 = Worksheets(" ws2 ")の行に' Worksheets( "ws2")セル(irow、##)を入れてください。私は、29)。値 '。ワークシート参照がなければ、ActiveWorkbookを参照します。 –

+0

次の行は、ワークシート(COPQ_online)の問題を引き起こしています。範囲(「C7」)。値= MsgBoxまでのKgl_PG_Campaign Kgl_PG_Campaignコードは問題なく動作しています。 –

答えて

0

を助けてください。私はあなたが行3から「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 

最初の空のセルの前に1つ下に移動します

+0

ここでは、「ws2」列の「C」セルを2行目から最初の空のセルの前にループした後に、Worksheets(「COPQ_online」)に書き込むと仮定しました。 –

+0

なぜ私は編集できませんコメント –

+0

を3つではなく2つ下に置いて、このコードは行のWorksheets( "COPQ_online")で同じエラーを出しています。範囲( "C7")。値= Kgl_PG_Campaignは、 upto msgボックスの両方のコードは正常に動作しています。 –

関連する問題