VBA Excel:如何将单元格的范围分配给另一个单元格区域?

新的Excel VBA用户在这里。 我觉得我犯了一个愚蠢的语法错误。

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

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

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

使用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 。 如果试图将只有转置的值粘贴为真,它会抛出一个错误。