0

我正在使用文本到列函数来拆分从输入框中获取的字符串。如何定义拆分文本的文本格式?此时,文本“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

谢谢大家。

4

1 回答 1

1

像这样使用该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
于 2019-11-04T11:12:57.043 回答