分割string和打印到不同的单元格,Excel VBA

我是VBA的新手,为了解决这个问题一直在努力。 我有一个三个字符的string,我想拆分,并将值放入Excel中的数组。 所以举个例子,

Sub Splitdata() Dim x As Variant Dim txt As String txt = "Today is sunny" x = Split(txt) Range("C1:C3").Value = x End Sub 

但是,这只返回单元格C1-c3中string的第一个字符,即“今天”。 我想象一个循环是必需的,但我不知道如何做一个。 还有解决这个问题的一般方法吗?

是的,你可以通过改变你的分裂线来解决你的问题:

 x = Split(txt, " ") 

编辑:并更改传递结果表单到这一行:

 Range("C1:C3").Value = Application.Transpose(x) 

将一维数组分配给一个范围时,默认情况下它将水平移动(所以C1:E1工作正常),而不是垂直。

但是,您可以使用Transpose()来翻转该数组,以便填充垂直范围:

 Range("C1:C3").Value=application.transpose(split("abc"))