Excel VBA Текст в столбец с xltextformat - PullRequest
0 голосов
/ 04 ноября 2019

Я использую функцию преобразования текста в столбец, чтобы разделить строку, которая берется из поля ввода. Как определить формат текста для разделенного текста? На данный момент текст «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/22910/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

Спасибо всем.

1 Ответ

1 голос
/ 04 ноября 2019

Может помочь что-то подобное с использованием функции 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...