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

Вход

Регистрация

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

 

= Мир MS Excel/Сравнение содержимого ячейки с информацией из текста - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Сравнение содержимого ячейки с информацией из текста
rummy Дата: Вторник, 12.12.2017, 10:18 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток всем! Суть проблемы: Написан модуль, анализирующий поставки товара, стоимости, сроки годности и т.п., интегрирован в личную книгу макросов на значительном количестве ПК. В теле модуля есть сравнение содержимого ячейки, содержащей название компании-поставщика, и , если этот поставщик входит в список забирающих нереализованый товар (так называемый ВОЗВРАТНЫЙ ПОСТАВЩИК), то алгоритм обработки модуля идет по другой ветке. В коде реализовано коряво, через :
[vba]
Код
'анализируем производителя
postashik1 = Range(postavshik & Nstroka).Value
If postashik1 Like "*ефрем*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*лакт*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*ЭХО*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*SOMBOL*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*ферэл*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
End If
[/vba]
То есть, тупо сравниваем содержимое ячейки с явно обозначенным словом. Проблема в том, что список поставщиков меняется довольно регулярно, и дополнять код на каждой машине вообще не вариант. Хотелось бы использовать для этой цели некоторый аналог файла ресурсов или что-нибудь в этом роде, не находящееся в книге эксель, к примеру текстовый файл, со списком, на соответствие которому циклом проводится проверка, который можно кинуть в корень диска Ц или другое место :). Буду благодарен за любую помощь. Весь модуль в аттаче.
К сообщению приложен файл: Kommentariy.bas (11.3 Kb)


Сколько ни наталкивал на мысль... все равно увернулся!

Сообщение отредактировал rummy - Вторник, 12.12.2017, 10:34
 
Ответить
СообщениеДоброго времени суток всем! Суть проблемы: Написан модуль, анализирующий поставки товара, стоимости, сроки годности и т.п., интегрирован в личную книгу макросов на значительном количестве ПК. В теле модуля есть сравнение содержимого ячейки, содержащей название компании-поставщика, и , если этот поставщик входит в список забирающих нереализованый товар (так называемый ВОЗВРАТНЫЙ ПОСТАВЩИК), то алгоритм обработки модуля идет по другой ветке. В коде реализовано коряво, через :
[vba]
Код
'анализируем производителя
postashik1 = Range(postavshik & Nstroka).Value
If postashik1 Like "*ефрем*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*лакт*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*ЭХО*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*SOMBOL*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
ElseIf postashik1 Like "*ферэл*" Then 'если есть совпадение со списком возвратных поставщиков
Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
GoTo my_jamp
End If
[/vba]
То есть, тупо сравниваем содержимое ячейки с явно обозначенным словом. Проблема в том, что список поставщиков меняется довольно регулярно, и дополнять код на каждой машине вообще не вариант. Хотелось бы использовать для этой цели некоторый аналог файла ресурсов или что-нибудь в этом роде, не находящееся в книге эксель, к примеру текстовый файл, со списком, на соответствие которому циклом проводится проверка, который можно кинуть в корень диска Ц или другое место :). Буду благодарен за любую помощь. Весь модуль в аттаче.

Автор - rummy
Дата добавления - 12.12.2017 в 10:18
_Boroda_ Дата: Вторник, 12.12.2017, 10:26 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация: 6667 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
- Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение- Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Автор - _Boroda_
Дата добавления - 12.12.2017 в 10:26
rummy Дата: Вторник, 12.12.2017, 10:38 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Поправил


Сколько ни наталкивал на мысль... все равно увернулся!
 
Ответить
СообщениеПоправил

Автор - rummy
Дата добавления - 12.12.2017 в 10:38
rummy Дата: Четверг, 14.12.2017, 12:08 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, коллеги! Может быть появились хоть какие-нибудь мысли по реализации вопроса? Хотя бы в каком направлении двигаться...


Сколько ни наталкивал на мысль... все равно увернулся!
 
Ответить
СообщениеДобрый день, коллеги! Может быть появились хоть какие-нибудь мысли по реализации вопроса? Хотя бы в каком направлении двигаться...

Автор - rummy
Дата добавления - 14.12.2017 в 12:08
RAN Дата: Четверг, 14.12.2017, 12:29 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Т
Хотелось бы использовать для этой цели некоторый аналог файла ресурсов ... к примеру текстовый файл

Так в чем проблема?
С текстовым файлом можно работать как встроенными средствами VBA, так через Scripting.FileSystemObject. Примеров и того, и другого на форуме море.

[vba]
Код

Sub Мяу()
    Dim txt$, spl, i&
    txt = CreateObject("Scripting.FileSystemObject").OpenTextFile("D:\Новый текстовый документ.txt", 1).ReadAll
    spl = Split(txt, vbNewLine)
    For i = LBound(spl) To UBound(spl)
        If postashik1 Like "*" & spl(i) & "*" Then    'если есть совпадение со списком возвратных поставщиков
            Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
        End If
    Next
End Sub
[/vba]
К сообщению приложен файл: __.txt (0.0 Kb)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 14.12.2017, 13:16
 
Ответить
СообщениеТ
Хотелось бы использовать для этой цели некоторый аналог файла ресурсов ... к примеру текстовый файл

Так в чем проблема?
С текстовым файлом можно работать как встроенными средствами VBA, так через Scripting.FileSystemObject. Примеров и того, и другого на форуме море.

[vba]
Код

Sub Мяу()
    Dim txt$, spl, i&
    txt = CreateObject("Scripting.FileSystemObject").OpenTextFile("D:\Новый текстовый документ.txt", 1).ReadAll
    spl = Split(txt, vbNewLine)
    For i = LBound(spl) To UBound(spl)
        If postashik1 Like "*" & spl(i) & "*" Then    'если есть совпадение со списком возвратных поставщиков
            Range(yacheyka & Nstroka).Value = "Возвратный продукт!"
        End If
    Next
End Sub
[/vba]

Автор - RAN
Дата добавления - 14.12.2017 в 12:29
rummy Дата: Четверг, 14.12.2017, 13:56 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN большое спасибо! Будем пробовать.

Попробовал! Проблема решена, тему можно закрывать.


Сколько ни наталкивал на мысль... все равно увернулся!

Сообщение отредактировал rummy - Четверг, 14.12.2017, 15:26
 
Ответить
СообщениеRAN большое спасибо! Будем пробовать.

Попробовал! Проблема решена, тему можно закрывать.

Автор - rummy
Дата добавления - 14.12.2017 в 13:56
  • Страница 1 из 1
  • 1
Поиск:

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