如何使用VBA在单个列中传播多个头文件?

Sheets("Sheetname").Range("A3:C3") = Array("header 1", "header 2", "header 3") 

以上将在第3行的AC列中水平地输出这些标题名称。

 Sheets("Sheetname").Range("A4:A6") = Array("header x", "header y", "header z") 

从逻辑上讲,如果我想在多行上运行一列,上面的代码似乎是正确的。 但是,输出结果是在A4,A5,A6中重复的第一个标题名称“标题x”。

例:

 header x header x header x 

代替:

 header x header y header z 

显然我需要转置arrays垂直运行与水平运行。 然而,我似乎无法通过google等人find如何使用上面提到的语法来做到这一点。 发布的所有内容似乎都是按照Stack的以下示例,制作了一个更“正式的数组”:

 Sub Tester() Dim a(1 To 3) a(1) = "a" a(2) = "b" a(3) = "c" Range("A1:A3").Value = a 'all "a" Range("A1:C1").Value = a 'works, because left-to-right is the default Range("A1:A3").Value = Application.Transpose(a) 'works End Sub 

有没有什么办法可以在表单命令中直接转置数组?

  Sheets("Sheetname").Range("A4:A6") = Application.Transpose(Array("header x", "header y", "header z")) 

上面的代码已经在YoWE3K的build议中起作用了。

 a = Array("1", "2", "3") Range("A1:A3").Value = Application.Transpose(a)