Мне нужно выделить информацию из ячейки, где указаны данные о насосной установке, включая назначение, количество насосов, модель, и тип управления. Можете посоветовать, что нужно изменить в макросе (коде), чтобы все заработало? Прилагаю изображение с маркировкой для наглядности.
Спасибо!
Код
Option Explicit
Public Function РАЗДЕЛИТЬ(Строка As String, Индекс_начало As Long, Индекс_конец As Long) As Variant
Const DLM = "-"
If InStr(Строка, DLM) = 0 Then
РАЗДЕЛИТЬ = Строка
Else
Dim arr As Variant
arr = Split(Строка, DLM)
ReverseIndex Индекс_начало, UBound(arr)
ReverseIndex Индекс_конец, UBound(arr)
Dim brr As Variant
ReDim brr(Индекс_начало To Индекс_конец)
Dim yb As Long
For yb = LBound(brr) To UBound(brr)
brr(yb) = arr(yb)
Next
РАЗДЕЛИТЬ = Join(brr, DLM)
End If
End Function
Private Sub ReverseIndex(ind As Long, iUbo As Long)
If ind < 0 Then
ind = iUbo + ind + 1
Else
ind = ind - 1
End If
End Sub
Можно попробовать встроенными функциями обработки текста.
Как быть с остальными столбцами? Можно ли использовать макрос?
Если использовать макрос, некоторые ячейки выдают неверные значения (выделены желтым). Столбец с моделями можно не учитывать, если я приму вашу формулу как основу.
MaxGromov, у вас четко закреплены позиции разделенный "-" но строго по номерам, а 2,3, между 3 и предпоследним и предпоследний. Если это исполнить то формулами не сильно сложно.Выбивается НЖ-CDM 5-15.