2016-10-25 15 views
0

こんにちは、スタックオーバーフローのコミュニティと私に与えることができるすべてのヘルプの事前に感謝します。下から下への合計ループの作成 - VBA - Excel

私は現在、列を通過して次の空白行までのデータの合計を作成し、次の空白行で同じプロセスをやり直すために新しい合計を作成するループを作成しようとしています私たちはお互いの後に2つの空白を取得します。

以下のコードは類似していますが、合計は上向きで下向きではありません。誰にも解決策がありますか?あなたの助けに100万こんにちは。

Dim cell As Range 
Dim offset_rows As Long 

Set cell = Range("O2") 

Do While Not IsEmpty(cell.Offset(1, 0)) 
    offset_rows = Range(cell, cell.End(xlDown)).Rows.Count - 1 
    Set cell = cell.End(xlDown).Offset(1, 0) 
    'cell.FormulaR1C1 = "=SUM(R[-" & offset_rows & "]C:R[-1]C)" 
    cell.FormulaR1C1 = "=SUM(R[" & offset_rows & "]C:R[1]C)" 
Loop 

答えて

0

マクロをわずかに微調整し、合計を下にします。 もう一度お世話になり、ありがとうございます。整数 薄暗いFormulaRowとして

Sub SumRowsAbove() 

薄暗いSTARTROW限り 薄暗いSumRow限り 薄暗いlRow限り 薄暗いLASTROW限り 薄暗いBlankRowsCtr整数として

'(シートで自分のシート名 に変更

と "マクロプレップ")

' find last row with data in column "O" 
LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row 
StartRow = 3 
BlankRowsCtr = 0 

For lRow = 2 To LastRow + 1 
    If Not IsEmpty(.Cells(lRow, "O")) Then 
     SumRow = lRow 
     BlankRowsCtr = 0 
    Else 
     BlankRowsCtr = BlankRowsCtr + 1 

     ' if 2 or more rows are empty >> exit sub 
     If BlankRowsCtr >= 2 Then Exit Sub 

     FormulaRow = StartRow - 1 
     .Cells(FormulaRow, "O").Formula = "=SUM(O" & StartRow & ":O" & SumRow & ")" 
     StartRow = lRow + 1 
    End If 

Next lRow 

終了3210

End Sub

+0

申し訳ありませんが、変数は私のポストで考慮されていないようです - どのように編集するかわからない - 私はまだそれが共同社会に役立つことを願っています。 –

関連する問題