0

当我单击一个按钮时,我想在一个包含内容的单元格之后添加 3 行。我该如何改进下面的代码?对于前 3 行,单元格中已经有内容。我试图复制 3 行然后删除它的内容。我的问题是如果我已经将数据放在第 4 行到第 6 行,然后我再次单击按钮,前第 4 行到第 6 行现在将向下移动,新的空白行将始终插入第 1 行第 3 行之后不是我想要的。第 3 行的格式是我先复制它的原因。我希望前 3 行的格式也被复制,但不是内容,只是空白行。

Sub newRow()
        Rows("1:3").Select
        Selection.Copy
        Selection.Insert shift:=xlDown
        Range("4:6").ClearContents
End Sub
4

1 回答 1

1

尝试这个:

Range("1:3").copy
range("4:6").pastespecial paste:=xlpasteformats

将仅从第 1 行到第 3 行复制格式到第 4、5 和 6 行

因此,如果第 3 行有颜色,则第 6 行将有该颜色。

如果要使其动态化,则需要确定最后一行的内容:

Activesheet.usedrange.rows.count

将返回已使用的行数,包括具有格式但没有内容的行(我刚刚尝试过)

然后您只需将其插入复制粘贴代码中:

Dim lngLastRow As Long

lngLastRow = ActiveSheet.UsedRange.Rows.Count
Range(lngLastRow - 2 & ":" & lngLastRow).Copy
Range(lngLastRow + 1 & ":" & lngLastRow + 3).PasteSpecial Paste:=xlPasteFormats

在按钮的事件处理程序中尝试

于 2013-05-22T10:20:45.483 回答