在Excel中,如何使用visual basic / macro将special特殊粘贴到下一个空行?

时间:2015-03-11 19:02:44

标签: excel-vba paste vba excel

我在同一张纸上有四列。我想创建一个宏,以便每次运行宏时,C列中的值将被复制并粘贴到D列中的下一个空行上。例如,首先我们有:

Column A    Column B    Column C    Column D
1           41          42        

C列包含公式= A1 + B1。

运行宏后,我们会得到:

Column A    Column B    Column C    Column D
1           41          42          42

如果我在A列和B列中使用不同的值再次运行宏,我会得到:

Column A    Column B    Column C    Column D
10           90          100          42
                                     100

等等。

我尝试了可视化基本代码:

Sub Copy()
Sheets("Sheet1").Range("C1").Copy
Sheets("Sheet1").Range("D1").PasteSpecial
End Sub

但这不起作用。它没有特殊粘贴,也没有找到D列中的下一个空行。

有谁能让我知道如何正确编写代码? 非常感谢

1 个答案:

答案 0 :(得分:0)

你需要向下移动:

Sub xCopy()
    If Sheets("Sheet1").Range("D1").Value = "" Then
        n = 1
    Else
        n = Sheets("Sheet1").Cells(Rows.Count, "D").End(xlUp).Row + 1
    End If
    Sheets("Sheet1").Range("C1").Copy
    Sheets("Sheet1").Range("D" & n).PasteSpecial Paste:=xlPasteAll
End Sub