【问题标题】:Insert a row below the last cell and not above it在最后一个单元格下方而不是上方插入一行
【发布时间】:2020-10-17 05:39:47
【问题描述】:

谁能帮我解决这个问题?

我正在尝试编写一个宏,该宏将在第 1 页上包含文本的最后一行之后插入一个带有文本的新行 - 请参见下图。

我希望宏在 PAGE 1 上的第 16 行之后插入一个新行,从而扩大第 1 页的边框,即在其下方。 p>

但由于某种原因它只在上面插入一行。我需要它插入下面。

这里是代码-

Sub Macro5()


lastrow = Cells(Rows.Count, 1).End(xlUp).Row

Rows(lastrow).Select

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove


End Sub

应该是一个简单的任务,但由于某种原因,我找不到答案。

提前谢谢你。

【问题讨论】:

  • 您已找到最后一行,但您要添加的文本在哪里?看起来你正在做的只是插入一个空白行。它在上面插入它是因为您选择了最后一行。你不会在下面插入一个空白行,因为那是没有意义的。听起来您想扩大打印区域。
  • 是的,我想扩大打印区域,并在最后一行之后插入一行,并带有一些随机文本,例如插入单词 - 'ok'

标签: excel vba insert row


【解决方案1】:

只修改一行

lastrow = Cells(Rows.Count, 1).End(xlUp).Row + 1

【讨论】:

    【解决方案2】:

    插入行

    • 这将插入上面的行,然后将下面的行复制到上面的行中,保持其格式。
    • 不确定这是否会保留Page 1 上的最后一行。

    守则

    Option Explicit
    
    Sub Macro5()
        Dim LastRow As Long
        LastRow = Cells(Rows.Count, 1).End(xlUp).Row
        Rows(LastRow).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
        Rows(LastRow + 1).Copy Rows(LastRow)
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多