我是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中字符串中的第一个字符,即“今天”。我想要一个循环是必需的,但是我不知道如何制作一个循环。还有解决这个问题的一般方法吗?
答案 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"))