Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在excel vba中将单元格从一行复制到另一行_Vba_Excel_Excel 2010 - Fatal编程技术网

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

如何在excel vba中将单元格从一行复制到另一行,vba,excel,excel-2010,Vba,Excel,Excel 2010,我只想把数据从A7复制到F2;B7至F3和C7至F4在同一张纸中。 我使用了上面的代码。但是如果我再添加一行(即A18 B18 C18),那么它就不起作用了。帮助我您需要使用转置,请尝试以下代码: Range("A7:C17").Copy Range("F2") 假设C中的行数与A中的行数相同 Range(“A7”、Range(“C”和Rows.Count).End(xlUp)).复制范围(“F2”) 如果没有, Range("A7:C17").Copy Range("F2").PasteSp

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

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

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

假设C中的行数与A中的行数相同

Range(“A7”、Range(“C”和Rows.Count).End(xlUp)).复制范围(“F2”)

如果没有,

Range("A7:C17").Copy
Range("F2").PasteSpecial Paste:=xlPasteAll, Transpose:=True
如果只需要值而不需要格式

Range("A7", Range("A" & Rows.Count).End(xlUp)).Resize(, 3).Copy Range("F2")
如果范围(“F2”)为空字符串,则
范围(“F2”,范围(“F”和Rows.Count).End(xlUp)).Resize(,3).ClearContents
如果结束
使用范围(“A7”,范围(“A”&行数)。结束(xlUp))。调整大小(,3)
范围(“F2”)。调整大小(.Rows.Count、.Columns.Count)。值=.Value
以

也许我不明白这个问题,但是为什么OP需要
转置
?@CallumDA看看复制的数据和粘贴的结构哦,我误解了吗?我可以看到描述确实建议现在调换,但图片建议不调换。@SJR,这也是我的假设,尽管我现在看到OP要求调换
F2
F3
&
F4
。不确定这是否是一个打字错误。谢谢你的代码,只有在我添加1行的情况下,它才能工作。但如果我删除同一行,它不会更新,最后一行的值会显示两次。如何解决这个问题我在最后一段代码中添加了一行,它清除了F2和down.bro中的所有现有单元格,删除了F1 G1 H1单元格。如何解决这个问题我认为只有当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