2016-07-15 75 views
0

我正在清理一個文件,我試圖SUM值一起,但總和總是等於零。我的代碼給出正確的範圍,並執行正確的格式...只是不能得到的總和,顯示什麼,但0VBA Excel:插入SUM函數,但它總是等於零

Sub AddBlankRows() 
' 
Dim iRow As Integer, iCol As Integer 
Dim oRng As Range 
Dim fRow As Integer 

Set oRng = Range("e2") 

iRow = oRng.Row 
iCol = oRng.Column 
fRow = iRow 

Do 
' 
    If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then 
    Cells(iRow + 1, iCol).EntireRow.Insert shift:=xlDown 
    iRow = iRow + 1 
    Range("k" & iRow).Font.Bold = True 
    Range("k" & iRow).Value = "Total" 
    Range("l" & iRow).Font.Bold = True 
    Range("l" & iRow).Formula = "=sum(l" & CStr(fRow) & ":l" & CStr(iRow) & ")" 
    iRow = iRow + 1 
    fRow = iRow 
Else 
    iRow = iRow + 1 
End If 
' 
Loop While Not Cells(iRow, iCol).Text = "" 
' 
End Sub 

Picture of Sheet and Error

+0

嗨,即時通過行'範圍(「l」和iRow)得到的印象.Formula =「= sum(l」&CStr(fRow)&「:l」&CStr(iRow)&「)」他們試圖總結自己,你確定他們是正確的行和列是總結? – lewisthegruffalo

回答

0

你是一個在這裏創造一個循環引用"=sum(l" & CStr(fRow) & ":l" & CStr(iRow) & ")"

Sum公式單元格包含在總和範圍內。

更改爲

"=sum(l" & CStr(fRow) & ":l" & CStr(iRow-1& ")",應該工作。

+1

所以它的工作,但我不得不改變iRow-到iRow-1 –

+0

啊....錯過了。讓我把它歸咎於排字錯誤:) – cyboashu

+1

如果公式不起作用,最好的做法是將其粘貼到msgbox中,並且您通常會馬上看到問題! – Lowpar