Текст из одной ячейки разделить на три столбца - VB
Формулировка задачи:
подскажите, как с помощью VBA можно из одной ячейки выдернуть текст разделенный знаком "/" (он может состоять из одного, двух или трех значений)) и записать в отдельные ячейки.
а потом текст преобразовать в значения. Пример прилагаю, заранее спасибо.
а потом текст преобразовать в значения. Пример прилагаю, заранее спасибо.
Решение задачи: «Текст из одной ячейки разделить на три столбца»
textual
Листинг программы
Public Function ExtractPart(str As String, num As Integer, Optional delim As String = " ") As String
' Разделить строку str на части по разделителю delim и вернуть часть номер N
' Если N отрицательно - отсчитывать от конца.
' Несколько последовательных разделителей считать одним.
Dim temp As String
Dim tmp() As String
Dim n As Integer
Do
temp = str
str = Replace(str, delim & delim, delim, , , vbTextCompare)
Loop Until str = temp
tmp = Split(str, delim, , vbTextCompare)
n = UBound(tmp)
If n < Abs(num) - 1 Then
ExtractPart = ""
ElseIf num < 0 Then
ExtractPart = n
ExtractPart = Replace(tmp(n + num + 1), ".", ",", 1, 1)
Else
ExtractPart = n
ExtractPart = Replace(tmp(num - 1), ".", ",", 1, 1)
End If
End Function