我很高兴在Excel中使用Macros,所以如果这是一个愚蠢的问题我会道歉。 首先,我创建了一个电子表格,用于跟踪我的每周支出并进行设置,以便在我的智能手机上轻松操作。我有三组费用(食品,燃料,其他),每组最后列出的总费用和可用费用。这些小组是垂直组织的。
我找到了一个宏,它将在包含特定文本的单元格上方插入一行并将其放入按钮中。我遇到的问题是它没有更新任何总和一系列单元格的公式。 例如,如果我有一个= 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 :(得分:0)
可能会发生这种情况,因为您在B6中有SUM
公式并且您在第6行插入了新行。=SUM(B2:B5)
公式从未包含B6,因此在插入时不会自动调整新行。
在包含=SUM(B2:B5)
公式的行之间创建一个新的空白行,并将公式更改为=SUM(B2:B6)
(包括空白行)。现在,当您在第6行插入新行时,公式将调整为=SUM(B2:B7)
。空白行不会影响SUM
公式结果,您可以更改高度甚至回填,使其看起来像下边框。