0

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

4

2 回答 2

3

是的,您可以通过将分割线更改为这条来简单地解决您的问题:

x = Split(txt, " ")

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

Range("C1:C3").Value = Application.Transpose(x)
于 2013-06-16T22:41:41.500 回答
2

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

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

Range("C1:C3").Value=application.transpose(split("a b c"))
于 2013-06-16T22:47:41.347 回答