【发布时间】:2017-01-06 13:13:49
【问题描述】:
目前在我的 excel 电子表格中,我无法在所选行下方插入一行。新票已添加到电子表格的末尾,因此当我想添加新票时,我单击 TOTALS 行之前的行并单击插入,但它会在所选行上方输入新行。
此处的屏幕截图显示我选择了单元格 33 并单击了插入,但新行已添加到上方:
当我使用宏代码时,它完美地添加了行:
但是,新行的格式未与表格匹配。我想调整我的宏以根据表格格式格式化新行(在这种情况下,它应该以蓝色突出显示并具有正确的行)。双上单元格线也应该粘在总行上。
下面是我的微博:
Sub InsertRowBelow()
Application.ScreenUpdating = False
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
如果我不清楚,请告诉我。任何提示/指南/教程都会有所帮助。
【问题讨论】:
-
当我运行您的代码时,它可以完美运行,它会添加行并保持表格格式。
-
我也建议avoiding using
.Activate,这可能会导致头痛。 -
它确实也为我添加了格式,但如果我在总计行之前选择了 RIGHT 行,则不会。如果我在电子表格之间选择一行,它可以完美地工作。当我添加到电子表格的末尾(在 TOTALS 行上方)时,它不会保持格式。
标签: excel excel-2010 excel-2007 vba