Текст из одной ячейки разделить на три столбца - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы