用于从列范围中复制公式的宏/ vba代码

时间:2014-09-16 01:01:49

标签: excel-vba vba excel

我在单元格D4到L4中有一个公式,我想将它们复制到包含数据的A列的最后一行。

以下代码仅适用于单列,但我需要列范围(D4:L4)。有人可以帮我解决如何更改以下代码。

Sub copyFormula() 
    Dim r1 As Range, r2 As Range, m As Long 
    Set r1 = Range("N2") 
    m = Cells(Rows.Count, "A").End(xlUp).Row 
    Set r2 = Range("N3:N" & m) r1.Copy r2 
End Sub

谢谢,

1 个答案:

答案 0 :(得分:0)

将最后一个语句移动到自己的行中。

    Set r2 = Range("N3:N" & m)
    r1.Copy r2
End Sub

这样代码从Sheet模块运行良好。如果要从普通模块运行它,则需要限定范围,例如:

Sub copyFormula()
    Dim r1 As Range, r2 As Range, m As Long
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set r1 = ws.Range("N2")
    m = ws.Cells(Rows.Count, "A").End(xlUp).Row
    Set r2 = ws.Range("N3:N" & m)
    r1.Copy r2
End Sub