插入新行,从上面的行复制,然后清除某些单元格中的数据

时间:2019-03-08 12:58:55

标签: excel vba

我试图在Excel中创建一个宏,以在突出显示的单元格下方放置一行,然后将公式仅复制到正确单元格中的该行。

到目前为止,我已经通过复制整个行内容设法插入并填充了新行。

我需要知道的是如何获取宏以清除特定单元格中的数据,以便使单元格中的公式保持完整?

我已经尝试过Selection.ClearContents命令,但这只是清除了包括公式在内的整个行数据。

到目前为止,这是我的代码

Sub Button500_Click()


Dim lRow As Long
Dim lRsp As Long
'On Error Resume Next

lRow = Selection.Row()
'lRsp = MsgBox("Insert New row below " & lRow & "?", _
 '       vbQuestion + vbYesNo)
'If lRsp <> vbYes Then Exit Sub

Rows(lRow).Select
Selection.Copy
Rows(lRow + 1).Select
Selection.Insert Shift:=xlUp

'Paste formulas and conditional formatting in new row created
Rows(lRow).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone
Selection.ClearContents
Application.CutCopyMode = False

End Sub

1 个答案:

答案 0 :(得分:0)

这将完成您使用Selection所做的尝试。

With ActiveSheet.Range(Cells(Selection.Row, Selection.Column), Cells(Selection.Row, Columns.Count).End(xlToLeft))
    .Offset(1).Formula = .Formula
    .SpecialCells(xlCellTypeConstants, 23).Offset(1).ClearContents
End With