【问题标题】:Excel - Insert row macro to include table formatExcel - 插入行宏以包含表格格式
【发布时间】: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


【解决方案1】:

如果您只想向表中添加新行,请使用:

ActiveWorkbook.Worksheets(1).ListObjects(1).ListRows.Add

【讨论】:

  • 这效果更好,但它没有在每个单元格之间应用线条(边框)。仅在行下方和上方应用线(边框)。
  • @KKP 它应该应用表格的格式......所以我不确定。你自己添加格式了吗?
  • 这可能是一个很大的可能。让我检查一下并回复你。
  • 这就是问题所在。我从头开始制作电子表格并解决了我的问题。谢谢!
猜你喜欢
  • 2012-09-10
  • 2023-03-25
  • 2011-03-04
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多