拆分字符串和打印到不同的单元格,Excel VBA

时间:2013-06-16 22:37:39

标签: excel vba

我是VBA的新手,并且一直在解决这个问题。我有一个三个字符的字符串,我想拆分并将值放入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中字符串中的第一个字符,即“今天”。我想要一个循环是必需的,但是我不知道如何制作一个循环。还有解决这个问题的一般方法吗?

2 个答案:

答案 0 :(得分:3)

是的,您可以通过将拆分线更改为此解决方案来解决您的问题:

x = Split(txt, " ")

编辑:并将结果传递给工作表的行更改为:

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

答案 1 :(得分:2)

当您将一维数组分配给某个范围时,默认情况下它会水平移动(因此C1:E1可以正常工作),而不是垂直方向。

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

Range("C1:C3").Value=application.transpose(split("a b c"))
相关问题