Здравствуйте, подскажите пожалуйста есть ли способ решения такой проблемы, нужно из текста вытащить номер договора, список большой, в тексте может быть 1 и более № договоров, начинаются они на № или после № идет пробел, также может встречаться словосочетание ЕЭТП или +ЕЭТП которое тоже нужно перенести. Возможны варианты формулой или VBA Спасибо
Здравствуйте, подскажите пожалуйста есть ли способ решения такой проблемы, нужно из текста вытащить номер договора, список большой, в тексте может быть 1 и более № договоров, начинаются они на № или после № идет пробел, также может встречаться словосочетание ЕЭТП или +ЕЭТП которое тоже нужно перенести. Возможны варианты формулой или VBA СпасибоArmilDinat
Спасибо, но именно проблема в том, что нужны именно номера договоров и ЕЭТП если встречается, без дат и в одной ячейке если их много чтобы было в итоге. Типа №7698 №8758707 №34 №6976089
Спасибо, но именно проблема в том, что нужны именно номера договоров и ЕЭТП если встречается, без дат и в одной ячейке если их много чтобы было в итоге. Типа №7698 №8758707 №34 №6976089ArmilDinat
Function u_7(u As Range) a = InStr(u, "№") aa = InStr(u, "ЕЭТП") If a > 0 Or aa > 0 Then ba = Replace(u, "№", "") b = Replace(ba, "ЕЭТП", "ЭТП") l = Len(u) c = l - Len(b) ia = Replace(u, "№ ", "№#") ib = Replace(ia, "+ ЕЭТП +", "№1111111") ic = Replace(ib, "ЕЭТП +", "№22222") ie = Replace(ic, "+ ЕЭТП", "№33333") i = Replace(ie, "ЕЭТП", "№444") & " " For d = 1 To c e = InStr(i, "№") f = Mid(i, e, l + 1) g = InStr(f, " ") h = Left(f, g - 1) If d = 1 Then v = "" Else v = Chr(10) End If u_7 = u_7 & v & h i = Mid(i, e + 1, l + 1) Next p = Replace(u_7, "#", "") q = Replace(p, "№1111111", "+ ЕЭТП +") r = Replace(q, "№22222", "ЕЭТП +") s = Replace(r, "№33333", "+ ЕЭТП") t = Replace(s, "№444", "ЕЭТП") u_7 = Trim(t) Else u_7 = "" End If End Function
[/vba]
апдэцт 11:31 доработал, файл перезалил [vba]
Код
Function u_7(u As Range) a = InStr(u, "№") aa = InStr(u, "ЕЭТП") If a > 0 Or aa > 0 Then ba = Replace(u, "№", "") b = Replace(ba, "ЕЭТП", "ЭТП") l = Len(u) c = l - Len(b) ia = Replace(u, "№ ", "№#") ib = Replace(ia, "+ ЕЭТП +", "№1111111") ic = Replace(ib, "ЕЭТП +", "№22222") ie = Replace(ic, "+ ЕЭТП", "№33333") i = Replace(ie, "ЕЭТП", "№444") & " " For d = 1 To c e = InStr(i, "№") f = Mid(i, e, l + 1) g = InStr(f, " ") h = Left(f, g - 1) If d = 1 Then v = "" Else v = Chr(10) End If u_7 = u_7 & v & h i = Mid(i, e + 1, l + 1) Next p = Replace(u_7, "#", "") q = Replace(p, "№1111111", "+ ЕЭТП +") r = Replace(q, "№22222", "ЕЭТП +") s = Replace(r, "№33333", "+ ЕЭТП") t = Replace(s, "№444", "ЕЭТП") u_7 = Trim(t) Else u_7 = "" End If End Function