2017-01-25 13 views
0

合計を計算するのにこのマクロを使用しますが、動作しません。これは私がこれまで試したものです:マクロExcel 2010 vbaを使用する列の合計

Sub sum() 

I = .Range("E2").End(xlDown).Row 

cumul = 0 
For E = 2 To I 
cumul = cumul + Cells(E, 2) 
Next 
Range("E7") = cumul 

End Sub 
+0

(http://stackoverflow.com/help/on-topic)問題を診断するための十分な情報が不足している*ご質問のとおり*あなたの投稿を編集して、人々があなたを助けるために十分な詳細を追加してください。 – bahrep

+0

列Eの合計( 'I = .Range(" E2 ")、End(xlDown).Row')または列B(' cumul = cumul + Cells(E、2)を使って最後の行を探していますか? ) ')? –

+0

こんにちは、私のタブのような名前のタブE1:生産、E2:56、E3:67、E4:67等...と私はすべての列の合計をしたい – Houyam

答えて

0

私が正しくあなたを理解している場合、下記のコードは、(セルE2から開始)E列のすべての値を合計すると、セルB2に結果を配置します。

注意を(あなたが簡単に場所を変更することができます):私の代わりにForループを使用しての、あなたが反復することなく、範囲内のすべての値を合計するWorksheetFunction.Sumを使用することができ、「オプション2」を追加しました。この投稿は[オフトピック]のように見える

コード

Option Explicit 

Sub SumColE() 

Dim cumul As Long, I As Long, E As Long 

With Worksheets("Sheet1") ' <-- modify "Sheet1" to your sheet's name 
    I = .Range("E2").End(xlDown).Row '<-- get last row in Column E   
    cumul = 0 

    ' option 1: using a loop 
    For E = 2 To I 
     cumul = cumul + .Range("E" & E) '<-- Sum up values in Column E 
    Next E 
    .Range("B2").Value = cumul '<-- put the result in B2 

    ' option 2: using WorksheetFunction SUM 
    .Range("B2").Value = Application.WorksheetFunction.Sum(.Range("E2:E" & I))   
End With 

End Sub 
関連する問題