如何在excel vba中将单元格从一行复制到另一行

时间:2017-11-02 13:40:29

标签: excel vba excel-vba excel-2010

Range("A7:C17").Copy Range("F2")

我只想将数据从A7复制到F2; B7至F3和C7至F4在同一张纸上。 我用过上面的代码。但如果我再添加一行(即A18 B18 C18),那么它就不起作用了。帮帮我

2 个答案:

答案 0 :(得分:1)

假设您在C中的行数与A

中的行数相同

Range("A7", Range("C" & Rows.Count).End(xlUp)).Copy Range("F2")

如果没有,

Range("A7", Range("A" & Rows.Count).End(xlUp)).Resize(, 3).Copy Range("F2")

如果您只想要值而不是格式,

If Range("F2") <> vbNullString Then
    Range("F2", Range("F" & Rows.Count).End(xlUp)).Resize(, 3).ClearContents
End If

With Range("A7", Range("A" & Rows.Count).End(xlUp)).Resize(, 3)
    Range("F2").Resize(.Rows.Count, .Columns.Count).Value = .Value
End With

答案 1 :(得分:0)

您需要使用Transpose,请尝试以下代码:

Range("A7:C17").Copy
Range("F2").PasteSpecial Paste:=xlPasteAll, Transpose:=True