Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
удалить e-mail c ячейки, Подскажите как удалить с ячейками с несколькими мейлами ненужый мейл (в принципе любой) и оставить только один e-mail
 
Подскажите как удалить с ячейки с несколькими мейлами ненужый мейл (в принципе любой) и оставить только один e-mail
 
Выделяете любой e-mail, удаляете.

На какой ответ Вы надеялись при такой постановке вопроса, без файла примера?
 
в ячейке несколько мейлов, оставить нужно один любой
 
Первый:
=ЛЕВБ(A1;ПОИСК(",";A1&",")-1)
 
вариант макроса с результатом в столбце A,кнопки test и повтор,функция vvv в столбце F
Код
Sub test()
     Dim z, t$, i&: z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
  With CreateObject("VBScript.RegExp"): .Pattern = "[^,]+"
    For i = 1 To UBound(z): t = z(i, 1)
      z(i, 1) = .Execute(t)(0)
    Next
   Range("A1").Resize(UBound(z), 1).Value = z
   End With
End Sub
Изменено: sv2013 - 19 Май 2017 18:48:09
 
vikttur, sv2013, - спасибо. подошел первый вариант. он проще
Изменено: Michael_777 - 13 Июн 2017 16:55:55
 
vikttur, sv2013, прикрепляю к сообщению пример файла который нужно редактировать
Необходимо что бы каждый номер после запятой шел в соответствующую ячейку.
К примеру, номер который по счету второй после "," идет в ячейку - 2, третий - 3, четвертый 4
 
Можно макросом для данных из примера. Только формат ячеек, куда будут переносить значения задайте сначала текстовый.
Код
Sub SplE_mails()
    Dim lngI As Long, arrA, intJ As Integer
        For lngI = 2 To Cells(Rows.Count, 1).End(xlUp).Row
            arrA = Split(Cells(lngI, 1), ",")
                For intJ = 0 To UBound(arrA)
                    Cells(lngI, 1).Offset(0, intJ) = arrA(intJ)
                Next intJ
            Erase arrA
        Next lngI
End Sub
Кому решение нужно - тот пример и рисует.
 
Стандартный инструмент Текст по столбцам справится.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Можно немного сократить.
Код
Sub test()
Dim arr$(), i&
For i = 2 To Range("a" & Rows.Count).Row
    arr = Split(Range("a" & i), ",")
    Range("a" & i).Resize(, UBound(arr) + 1) = arr
Next i
End Sub
"Все гениальное просто, а все простое гениально!!!"
 
Bema, Nordheim,инструмент текст по столбцам прекрасно справился с этим заданием. макросы не стал использовать, так как это пока что сложно для меня. спасибо за помощь

P.S. где здесь благодарности к профилю оставлять или как тут принято + к карме добавлять?)))
Страницы: 1
Читают тему (гостей: 1)