В произвольной форме написаны контакты клиента (например, 9222234, kerjfgkerfn@ya.ru ), email может быть в любой части текста. Задача - составить колонку контактов с почтой и телефоном.
С контактами вроде разобралась - нашла формулу более менее подходящую, но с телефоном не получается использовать все выше предложенные варианты, т к при нахождении номера после email формула не отображает значение.
Умные люди, помогите пожалуйста))
В произвольной форме написаны контакты клиента (например, 9222234, kerjfgkerfn@ya.ru ), email может быть в любой части текста. Задача - составить колонку контактов с почтой и телефоном.
С контактами вроде разобралась - нашла формулу более менее подходящую, но с телефоном не получается использовать все выше предложенные варианты, т к при нахождении номера после email формула не отображает значение.Viktoriyaonly
Sub tt() Dim arr For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row arr = Split(Application.WorksheetFunction.Trim(Replace(Cells(i, 1), ",", " "))) If UBound(arr) > 0 Then If InStr(arr(0), "@") <> 0 Then Cells(i, 2) = arr(0) Cells(i, 3) = arr(1) Else Cells(i, 2) = arr(1) Cells(i, 3) = arr(0) End If End If Next i End Sub
[/vba]
Или так [vba]
Код
Sub tt() Dim arr For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row arr = Split(Application.WorksheetFunction.Trim(Replace(Cells(i, 1), ",", " "))) If UBound(arr) > 0 Then If InStr(arr(0), "@") <> 0 Then Cells(i, 2) = arr(0) Cells(i, 3) = arr(1) Else Cells(i, 2) = arr(1) Cells(i, 3) = arr(0) End If End If Next i End Sub
По емейлам ведь давно есть решение на регэксп: [vba]
Код
Function em(s As String) Dim v Dim EML_PTRN$ 'http://www.regular-expressions.info/regexbuddy/email.html EML_PTRN = "[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"
With CreateObject("vbscript.regexp") .Pattern = EML_PTRN .Global = True .IgnoreCase = True Set v = .Execute(s) End With em = v(0).Value End Function
[/vba]
По емейлам ведь давно есть решение на регэксп: [vba]
Код
Function em(s As String) Dim v Dim EML_PTRN$ 'http://www.regular-expressions.info/regexbuddy/email.html EML_PTRN = "[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}"
With CreateObject("vbscript.regexp") .Pattern = EML_PTRN .Global = True .IgnoreCase = True Set v = .Execute(s) End With em = v(0).Value End Function
Всем привет. Очень нужна помощь. Нужно сделать как в файле который прикрепил - сборщик эл. почт, а мне нужно чтобы собирал телефонные номера. На 1 листе база, а на 2-м сборщик телефонов. Желательно чтобы поиск распространялся на телефоны которые написаны с пробелами, скобками, тире.
Заранее спасибо.
Всем привет. Очень нужна помощь. Нужно сделать как в файле который прикрепил - сборщик эл. почт, а мне нужно чтобы собирал телефонные номера. На 1 листе база, а на 2-м сборщик телефонов. Желательно чтобы поиск распространялся на телефоны которые написаны с пробелами, скобками, тире.