VBA Excel:如何将细胞范围分配给另一个细胞范围?

时间:2016-01-22 23:09:56

标签: excel vba excel-vba

此处有新的Excel VBA用户。我觉得我犯了一个愚蠢的语法错误。

我正在尝试将一个工作表中的一些垂直单元格复制到另一个工作表中的水平单元格。

Worksheets("Master").Range("D14:F14").Value = Worksheets("Temp").Range("B12:B14").Value

但是,上述命令似乎只将B12的值粘贴到单元格D14:F14。有没有办法将B12,B13和B14的细胞粘贴到D14:F14?

1 个答案:

答案 0 :(得分:4)

使用Application.Transpose()

Worksheets("Master").Range("D14:F14").Value = Application.Transpose(Worksheets("Temp").Range("B12:B14").Value)

PasteSpecial

Worksheets("Temp").Range("B12:B14").Copy
Worksheets("Master").Range("D14").PasteSpecial xlPasteAll, , , True

如果你只想要价值,那么第一个是最好的。使用PasteSpecial进行转置时,必须使用xlPasteAll。如果尝试仅将transpose粘贴为true,则会抛出错误。