Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2010, 12:04   #1
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию Вывод номеров с Unreasonable Value

Добрый день! Помогите пожалуйста переделать макрос прикрепленный ниже так чтобы он искал в лог файле номера которые имеют текст "Unreasonable Value" и выводил их в колонку А. В данном логе номер с Unreasonable Value это 430098. Спасибо!
Unreasonable value.rar
zenner вне форума Ответить с цитированием
Старый 08.10.2010, 12:37   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А сами не пробовали сделать?

Код:
uv = InStr(1, t, "UNREASONABLE VALUE") > 0  ' ищем  UNREASONABLE VALUE
....
If uv Then ДобавитьУслугу .EntireRow, "UNREASONABLE VALUE"
Результат:




PS: немного не то получилось... сейчас переделаю )

Последний раз редактировалось EducatedFool; 08.10.2010 в 12:39.
EducatedFool вне форума Ответить с цитированием
Старый 08.10.2010, 12:42   #3
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию

Я пробовал но у меня тоже 430099 вывел!
zenner вне форума Ответить с цитированием
Старый 08.10.2010, 13:01   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот весь макрос:

Код:
Sub Поиск_AXE_10()
    On Error Resume Next: Application.ScreenUpdating = False
    Filename = GetTXTFileName: If Filename = "" Then Exit Sub

    Set fso = CreateObject("scripting.filesystemobject")    ' считываем текст из файла
    Set ts = fso.OpenTextFile(Filename, 1, True): txt = ts.ReadAll: ts.Close

    Set RegExp = CreateObject("VBScript.RegExp"): RegExp.Global = True: RegExp.MultiLine = True
    RegExp.Pattern = "UNREASONABLE VALUE\r\n {3,}\(0\)SNB=[\d]{6}"
    If RegExp.test(txt) = 0 Then Exit Sub

    For Each res In RegExp.Execute(txt)
        Range("a" & Rows.Count).End(xlUp).Offset(1) = Right(res.Value, 6)
    Next
End Sub
Пример в файле: http://excelvba.ru/XL_Files/Sample__...__15-01-13.zip
EducatedFool вне форума Ответить с цитированием
Старый 08.10.2010, 13:20   #5
zenner
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 199
По умолчанию

Спасибо! Все работает!
zenner вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распознавание номеров авто YuryD Софт 8 03.03.2015 16:07
Вывод номеров из файла zenner Microsoft Office Excel 4 02.11.2009 15:52
БД телефонных номеров ElenaOrsk Общие вопросы Delphi 0 31.05.2009 12:25
Сортировчик номеров ildusfm Microsoft Office Excel 1 19.05.2009 13:38
Вывод порядкOвых номеров массива new16 Общие вопросы Delphi 4 05.03.2009 14:26