Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вытащить нужные данные из ячейки с текстом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вытащить нужные данные из ячейки с текстом (Формулы/Formulas)
Вытащить нужные данные из ячейки с текстом
megafox Дата: Воскресенье, 11.09.2016, 11:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Доброе время.
Есть ячйки с текстом, в тексте есть IP адрес. Задача вытащить только IP адрес и прописать в соседней ячейке.
пробовал через ПСТР, но проблема в разной длинне адресов и копируется ненужная информация, через ПОИСК и НАЙТИ не смог.
Просьба помочь макросом
 
Ответить
СообщениеДоброе время.
Есть ячйки с текстом, в тексте есть IP адрес. Задача вытащить только IP адрес и прописать в соседней ячейке.
пробовал через ПСТР, но проблема в разной длинне адресов и копируется ненужная информация, через ПОИСК и НАЙТИ не смог.
Просьба помочь макросом

Автор - megafox
Дата добавления - 11.09.2016 в 11:02
buchlotnik Дата: Воскресенье, 11.09.2016, 11:04 | Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
а файл-то будет?
 
Ответить
Сообщениеа файл-то будет?

Автор - buchlotnik
Дата добавления - 11.09.2016 в 11:04
megafox Дата: Воскресенье, 11.09.2016, 11:10 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
да, рабочего файла сейчас нет, но накидал пример, отражающий суть проблемы
К сообщению приложен файл: 6301669.xls (16.0 Kb)
 
Ответить
Сообщениеда, рабочего файла сейчас нет, но накидал пример, отражающий суть проблемы

Автор - megafox
Дата добавления - 11.09.2016 в 11:10
buchlotnik Дата: Воскресенье, 11.09.2016, 11:24 | Сообщение № 4
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
UDF-ка [vba]
Код
Function ExcecuteIP$(strText$)
    Application.Volatile
    Dim obj As Object
    With CreateObject("VBScript.Regexp")
        .Pattern = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
        Set obj = .Execute(strText)
        If obj.Count > 0 Then ExcecuteIP = obj.Item(0) Else ExcecuteIP = ""
    End With
End Function
[/vba] IP на корректность не проверял, ибо пример бы её не прошёл B)
UPD не проснулся ещё, так проще:
[vba]
Код
Function ExcecuteIP$(strText$)
    Application.Volatile
    With CreateObject("VBScript.Regexp")
        .Pattern = "(\d{1,3}\.){3}\d{1,3}"
               If .test(strText) Then ExcecuteIP = .Execute(strText)(0) Else ExcecuteIP = ""
    End With
End Function
[/vba]
К сообщению приложен файл: 4757710-1-.xls (35.5 Kb)


Сообщение отредактировал buchlotnik - Воскресенье, 11.09.2016, 11:54
 
Ответить
СообщениеUDF-ка [vba]
Код
Function ExcecuteIP$(strText$)
    Application.Volatile
    Dim obj As Object
    With CreateObject("VBScript.Regexp")
        .Pattern = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
        Set obj = .Execute(strText)
        If obj.Count > 0 Then ExcecuteIP = obj.Item(0) Else ExcecuteIP = ""
    End With
End Function
[/vba] IP на корректность не проверял, ибо пример бы её не прошёл B)
UPD не проснулся ещё, так проще:
[vba]
Код
Function ExcecuteIP$(strText$)
    Application.Volatile
    With CreateObject("VBScript.Regexp")
        .Pattern = "(\d{1,3}\.){3}\d{1,3}"
               If .test(strText) Then ExcecuteIP = .Execute(strText)(0) Else ExcecuteIP = ""
    End With
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 11.09.2016 в 11:24
megafox Дата: Воскресенье, 11.09.2016, 11:27 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо!
 
Ответить
СообщениеСпасибо!

Автор - megafox
Дата добавления - 11.09.2016 в 11:27
sv2014 Дата: Воскресенье, 11.09.2016, 14:06 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
megafox, добрый день,еще вариант функции uuu в столбце C или yyy без регулярок

[vba]
Код
Function yyy$(t$)
   Dim i%
  For i = 1 To Len(t)
    If IsNumeric(Mid(t, i, 1)) Or Mid(t, i, 1) = "." Then
       yyy = yyy & Mid(t, i, 1)
    End If
  Next
End Function
[/vba]

[vba]
Код
Function uuu$(t$)
    With CreateObject("VBScript.Regexp")
        .Pattern = "[а-яё\s]+": .Global = True
            If .test(t) Then uuu = .Replace(t, "") Else uuu = ""
    End With
End Function
[/vba]
К сообщению приложен файл: example_11_09_2.xls (34.5 Kb)


Сообщение отредактировал sv2014 - Воскресенье, 11.09.2016, 16:39
 
Ответить
Сообщениеmegafox, добрый день,еще вариант функции uuu в столбце C или yyy без регулярок

[vba]
Код
Function yyy$(t$)
   Dim i%
  For i = 1 To Len(t)
    If IsNumeric(Mid(t, i, 1)) Or Mid(t, i, 1) = "." Then
       yyy = yyy & Mid(t, i, 1)
    End If
  Next
End Function
[/vba]

[vba]
Код
Function uuu$(t$)
    With CreateObject("VBScript.Regexp")
        .Pattern = "[а-яё\s]+": .Global = True
            If .test(t) Then uuu = .Replace(t, "") Else uuu = ""
    End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 11.09.2016 в 14:06
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вытащить нужные данные из ячейки с текстом (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!