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

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

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

假设你在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 

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

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