2014-11-02 76 views
0

我對使用宏使用Excel很新,所以如果這是一個愚蠢的問題,我很抱歉。 首先,我正在創建一個電子表格,用於跟蹤我的周到周支出情況並設置它,以便在我的智能手機上進行操作。我有三組開支(食品,燃料,其他),每組的結束時列出總數和可用數量。這些組織是垂直組織的。使用宏插入行時不更新的單元格範圍的公式

我發現了一個宏,它將在包含特定文本的單元格上插入一行,並將其放入按鈕中。我遇到的問題是它沒有更新任何總和一系列單元格的公式。 例如,如果我有a = SUM(B2:B5),那麼用宏在該範圍內插入一行,它不會將'B5'更新爲'B6'。

有什麼我需要添加到宏來獲取它來更新工作表上的公式?

這裏的宏:

Dim Col As Variant 
Dim BlankRows As Long 
Dim LastRow As Long 
Dim R As Long 
Dim StartRow As Long 

    Col = "B" 
    StartRow = 1 
    BlankRows = 1 

     LastRow = Cells(Rows.Count, Col).End(xlUp).Row 

     Application.ScreenUpdating = False 

     With ActiveSheet 
For R = LastRow To StartRow + 1 Step -1 
If .Cells(R, Col) = "Food Total:" Then 
.Cells(R, Col).EntireRow.Insert Shift:=xlUp 
End If 
Next R 
End With 
Application.ScreenUpdating = True 

回答

0

這是可能發生的,因爲你必須在B6的SUM公式,你是在6行插入新行的=SUM(B2:B5)公式從未納入B6所以它不會自動調整當你插入新行時。

在包含=SUM(B2:B5)公式的行之間創建一個新的空行,並將公式更改爲=SUM(B2:B6)(包括空行)。現在當您在第6行插入新行時,公式將調整爲=SUM(B2:B7)。空白行不會影響SUM公式的結果,您可以更改高度,甚至是回填,使其看起來像下邊框。

+0

我有點難堪如何調整宏。我想做一些可以通過執行R-1並將其轉儲到另一個變量中來調整'R'的東西,但似乎並不奏效。查看我的編輯帖子瞭解宏觀細節 – 2014-11-02 23:04:48

+0

@ Dr.Krieger - 是的,這正是它所做的。它位於包含「SUM」公式的行(例如* Food Total:*)並插入一行。您需要在它上面插入一個空白行,在'SUM'公式中包含該行並將插入行更改爲'.Cells(R-1,Col).EntireRow.Insert Shift:= xlUp'。 – Jeeped 2014-11-03 01:44:12

相關問題