MS Excel自动填充不正确的公式添加行时
我已经在Excel 2010中定义了一系列单元格作为表格。我保留工作表,以便其他用户不会错误地更改公式。 我不得不使用绑定到button的macros来允许其他用户在工作表被locking时添加行。 但是,我注意到,当我通过button添加行时,它会自动填充列I中的不正确的公式。这是一个我最初input的公式,但后来改变了。 我也注意到,当我解锁表格并简单地向下拖动表格的右下angular时,它将在某些行中放入正确的公式,在其他行中放入不正确的公式,甚至交替哪些行具有正确的公式。
您可能需要回答的其他信息:
- 表格包括A到I列
- 当前列I中的公式为:
=IF(G21=0," ",IF(G21="yes",I20+D21+H21,D21+(I20-F21)))
- 在列I中不再使用的旧公式:
=IF(G24=0," ",IF(G24="yes",F20+H24,F20-F24))
- 使用的macros是:
Sub AddRow() ActiveSheet.Unprotect Password:="secret" Range("A1").End(xlDown).ListObject.ListRows.Add AlwaysInsert:=False ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="secret" End Sub
这是什么工作:
macros的VBA代码如下所示:
Sub AddRowAndCopyFormula() ' ' AddRowAndCopyFormula Macro ' Add one new row and copy correct formula in Column I. '
Sub AddRowAndCopyFormula() ' ' AddRowAndCopyFormula Macro ' Add one new row and copy correct formula in Column I. '
“
ActiveSheet.Unprotect
范围( “表3 [#Totals]”)。select
Selection.ListObject.ListRows.Add(17)
范围( “I24”)。select
Selection.FillDown
ActiveSheet.Protect DrawingObjects:= True,内容:= True,scheme:= True _
,AllowFormattingCells:= True
结束小组
感谢所有帮助过我的人!
我也有这个问题。 我select了表中的整个列,删除了所有(新)公式,右键单击并select“清除内容”。 然后重新将我的新公式添加到列中。 这样做后,插入一个新的行(使用我的“行插入”macros),新的公式被autocopied到新的行。 不知道该解决scheme有多强大,但我不想开始摆弄我的(简单)“行插入”macros
你能否详细说明插入行中的公式究竟有什么问题? 是不是行被错误地引用?
作为一个潜在的解决方法,你可以添加这一行来重新填写公式?
Range("I2:I" & Range("A1").End(xlDown).row).filldown
将I2与表格中的第一个单元格replace为其中的公式