Страницы: 1
RSS
Как подсчитать количество символов в ячейке до определенного символа?
 
Мне нужно из ячейки со строкой (это одна ячейка):
A-Class : RR-TRUNK-LID_SEDAN_IND015
RR-TAILGATE_SW_IND009
FI : FIXGF FAR 13 42-F03_8450040017_Rear Lamp TRUNK LID_Cp07

скопировать символы после "A-Class : " и до "FI :", а так же в другую ячейку все символы после "FI :"
количество символов всегда разное, и если со вторым проблем нет:
Код
ActiveCell.Offset(0, 3).Value = WorksheetFunction.IfError(Mid(ActiveCell, InStr(ActiveCell, "FI") + 5, 100), "")

то с первым я просто не знаю, что делать.
Помогла бы подобная функция, только отслеживающая начальный и конечный символ

Файлы грузить не могу. Корп. тайна  
 
Цитата
то с первым я просто не знаю, что делать.
Изучать регулярные выражения.
 
Johnyb, где пример?
Можете попробовать ПОИСК() или НАЙТИ() в сочетании с ПСТР(), ДЛСТР()
Изменено: msi2102 - 02.04.2020 18:27:54
 
Код
Function myFunction(строка As String) As String
    Dim i As Long
    Dim j As Long
    i = InStr(строка, "A-Class : ")
    j = InStr(строка, "FI :")
    Dim s As String
    If i > 0 And j > i Then
        i = i + Len("A-Class : ")
        s = Mid(строка, i, j - i)
    End If
    
    myFunction = s
End Function

 
Цитата
Johnyb написал: Файлы грузить не могу
Создать отвлеченный пример корпоративная этика запрещает?
 
Код
Function iText(cell$)
 With CreateObject("VBScript.RegExp")
  .Pattern = "A-Class : .+(?=FI :)"
  iText = Mid(.Execute(cell)(0), 10)
 End With
End Function
 
Kuzmich, спасибо за вариант, но уже сделал по-другому)
 
МатросНаЗебре, спасибо за вариант, примерно так и сделал, но вставкой формулы. IfError почему-то не отрабатывает через макрос, а в формуле всё ок
 
vikttur, в запаре был, не подумал, что так можно XD
в след. раз буду благоразумнее)
 
Свои сообщения можно дополнять, незачем создавать новые.
Страницы: 1
Наверх