Может кто знает возможно ли выбрать ключевой слово из набора слов. В данном случае критерий отбора (за что могу зацепиться) "г"-пробел-Вспомогательное слово-пробел-ИСКОМОЕ СЛОВО-вспомогательное слово. Какой формулой можно вытягивать искомое слово. Либо формула для поиска Искомого слова после ключевого слова. в данном примере после "АВК" или "Конти".
А1 - ссылка на ячейку с исходной текстовой строкой Текст самой UDF поместить в стандартный модуль:
Код
Public Function ОБРАБТЕКСТ(ByRef astring As Variant, _
ByRef Mask As String, _
ByRef Model As String, _
Optional ByVal Mline As Boolean = False) As String
'Функция заменяет совпавшую с маской часть строки в соответствии с указанной моделью
If astring.Cells.Count <> 1 Then ОБРАБТЕКСТ = "#ЗНАЧ!": Exit Function
Dim re As RegExp
Set re = New RegExp
re.Pattern = Mask
'Просматривается вся строка
re.Global = True
'Регистр символов игнорируется
re.IgnoreCase = True
re.MultiLine = Mline
ОБРАБТЕКСТ = re.Replace(astring, Model)
End Function
Должна быть подключена библиотека Tools\References\Microsoft VBScript Regular Expressions 5.5
Function uuu$(t$)
With CreateObject("VBScript.RegExp"): .IgnoreCase = True
.Pattern = """([а-яё]+)"""
uuu = .Execute(t)(0).Submatches(0)
End With
End Function
Function uuu$(t$)
With CreateObject("VBScript.RegExp"): .IgnoreCase = True
.Pattern = "(АВК|Конти) ([А-ЯЁ]+)"
uuu = .Execute(t)(0).Submatches(1)
End With
End Function
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Function uuu1$(t$)
With CreateObject("VBScript.RegExp"): .IgnoreCase = True
.Pattern = """([а-яёa-z]+)"""
uuu1 = .Execute(t)(0).Submatches(0)
End With
End Function