具有xltextformat的Excel VBA文本到列

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

我尝试如下使用FieldInfo函数。

例如如果我仅在输入框中输入2个句段:“ 3101/10/1 2910/09/2”     FieldInfo:= Array(Array(0,2),Array(1,2)) 效果很好。

但是,如果我在输入框中输入3个段:“ 3101/10/1 2910/09/2 2910/09/3”     FieldInfo:= Array(Array(0,2),Array(1,2),Array(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

谢谢。

feng0905 回答:具有xltextformat的Excel VBA文本到列

使用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
本文链接:https://www.f2er.com/3167312.html

大家都在问