Excel" if>复制>插入1行>粘贴>只有价值(从一张纸到另一张)"

时间:2018-05-17 18:13:24

标签: excel vba

我试图制作一个宏来检查列" A3"是空的"然后复制细胞" A3:K3"来自表" Outros"然后在" Docs"中插入一行。第2行后面的图表然后只将值粘贴到A3:K3"文档" ...

主要问题是只复制和粘贴值+插入行,我到达的最近的公式是

Worksheets("Outros").Range("A3:K3").Copy Destination:=Worksheets("Docs").Range("A3:K3")

但有了这个,我不仅粘贴公式而且它不会插入一行。

2 个答案:

答案 0 :(得分:0)

要向下移动一行,请使用:

Rows(3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

复制/粘贴之前

要粘贴值而不是公式,请使用:

.PasteSpecial Paste:=xlPasteValues

答案 1 :(得分:0)

也许这会帮助您制作自己的代码:

Sub test()

Dim rng_one As Range
Dim rng_two As Range

Set rng_one = Worksheets("Outros").Range("A3:K3")
Set rng_two = Worksheets("Docs").Range("A3:K3")

' check if range is empty
If Application.WorksheetFunction.CountA(rng_two) = 0 Then

' insert row above row 3
Worksheets("Docs").Rows("3:3").Insert Shift:=xlDown

' copy paste as values
rng_one.Copy
rng_two.PasteSpecial xlPasteValues

Excel.Application.CutCopyMode = False

End If

End Sub