Excel VBA 使用 xltextformat 的文本到列

Excel VBA Text-to-column with xltextformat

我正在使用文本到列的功能来拆分从输入框中获取的字符串。如何定义拆分文本的文本格式?此时,文本“3101/09/1”将自动更改为日期格式“01/09/3101”。

我试过如下使用 FieldInfo 函数。

例如如果我只在输入框中输入 2 段:“3101/10/1 2910/09/2” FieldInfo:=数组(数组(0, 2), 数组(1, 2)) 这很好用。

但是,如果我在输入框中输入3段:“3101/10/1 2910/09/2 2910/09/3” FieldInfo:=数组(数组(0, 2), 数组(1, 2), 数组(2, 2)) 这是行不通的。 它给出了类似的东西:

¦ 3 ¦ 1 ¦ 01/10/1 ¦ 02/09/2910 ¦ 03/09/2910 ¦

代码是:

Cells(1, 1).NumberFormat = "@"
Cells(1, 1) = inputBox.Text
Range("A1").TextToColumns Destination:=Range("B1"), Space:=True

最终编辑解决方案:

Dim r As Excel.Range
Dim s() As String

s = Split(inputBox.Text, Chr(32))
Set r = Range("B1").Resize(1, UBound(s) + 1)
r.Value = s

谢谢大家

像这样使用 split 函数可能会有帮助

Dim r As Excel.Range
Dim s() As String

s = Split("3101/10/1 2910/09/2 2910/09/3", Chr(32))
Set r = Range("k1").Resize(1, UBound(s) + 1)

r.value = s