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

Вход

Регистрация

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

 

= Мир MS Excel/Проставление типа услуги по ключевым словам - Мир MS Excel

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

Excel 2013
Добрый день,

Я новичок из всех новичков :)

Есть массив услуг с наименованием, есть типы услуг, есть ключевые слова для каждого типа и слова исключения.
В текущем макросе возможно только для одного типа прописать ключевые слова и слова исключения. Для остальных - только ключевые слова
Нужна возможность это сделать для всех типов (их всего пять).

Пыталась сделать для остальных типов по аналогии с тем, что уже прописано - ошибки, не получается.

Буду признательна за помощь. Пытаюсь понемногу учиться по мере свободного времени.

Пример во вложении.
К сообщению приложен файл: 6304564.xlsm (67.8 Kb)
 
Ответить
СообщениеДобрый день,

Я новичок из всех новичков :)

Есть массив услуг с наименованием, есть типы услуг, есть ключевые слова для каждого типа и слова исключения.
В текущем макросе возможно только для одного типа прописать ключевые слова и слова исключения. Для остальных - только ключевые слова
Нужна возможность это сделать для всех типов (их всего пять).

Пыталась сделать для остальных типов по аналогии с тем, что уже прописано - ошибки, не получается.

Буду признательна за помощь. Пытаюсь понемногу учиться по мере свободного времени.

Пример во вложении.

Автор - Olya273
Дата добавления - 18.04.2018 в 18:47
Roman777 Дата: Среда, 18.04.2018, 21:49 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Olya273, по ощущениям громоздко. Распишите, пожалуйста, подробнее, что Вам требуется. Макрос изначально не Ваш?


Много чего не знаю!!!!
 
Ответить
СообщениеOlya273, по ощущениям громоздко. Распишите, пожалуйста, подробнее, что Вам требуется. Макрос изначально не Ваш?

Автор - Roman777
Дата добавления - 18.04.2018 в 21:49
Olya273 Дата: Четверг, 19.04.2018, 08:21 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
макрос не мой.

логика следующая.
тип: Стоматология
Наименование услуги Прием врача стоматологога-терапевта
Ключевые слова для типа стоматология: %стом%
Слова исключения: %нос%

Этой услуги макрос должен проставить тип "с". Так как она содержит ключевое слово, и не содержит слово исключение.

Ключевые слова и слова исключения есть для 4 типов.

Макрос сначала их проверяет, потом тем услуги у которых тип не определился помечает последним типом.
 
Ответить
Сообщениемакрос не мой.

логика следующая.
тип: Стоматология
Наименование услуги Прием врача стоматологога-терапевта
Ключевые слова для типа стоматология: %стом%
Слова исключения: %нос%

Этой услуги макрос должен проставить тип "с". Так как она содержит ключевое слово, и не содержит слово исключение.

Ключевые слова и слова исключения есть для 4 типов.

Макрос сначала их проверяет, потом тем услуги у которых тип не определился помечает последним типом.

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

Excel 2013
вроде не сложно, но попытки написать самой не увенчались успехом :(
 
Ответить
Сообщениевроде не сложно, но попытки написать самой не увенчались успехом :(

Автор - Olya273
Дата добавления - 19.04.2018 в 08:21
StoTisteg Дата: Четверг, 19.04.2018, 10:59 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Olya273, я бы для начала предложил хранить ключи на скрытом листе, а не в коде. Без всяких процентов и звёздочек, ключ из нескольких слов — в нескольких ячейках ряда. А на другом листе — исключения, в первом столбце — тип, в следующих — слова. И тогда всё станет гораздо проще. Тупо перебираем наименования услуг и ключи, пока не найдём нужный код, потом отфильтровываем исключения по коду и перебираем уже их. Громоздко, зато просто :)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеOlya273, я бы для начала предложил хранить ключи на скрытом листе, а не в коде. Без всяких процентов и звёздочек, ключ из нескольких слов — в нескольких ячейках ряда. А на другом листе — исключения, в первом столбце — тип, в следующих — слова. И тогда всё станет гораздо проще. Тупо перебираем наименования услуг и ключи, пока не найдём нужный код, потом отфильтровываем исключения по коду и перебираем уже их. Громоздко, зато просто :)

Автор - StoTisteg
Дата добавления - 19.04.2018 в 10:59
Olya273 Дата: Четверг, 19.04.2018, 11:53 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо! Но из намаслим деле не так много, и хотелось б хранить в коде, это удобнее
 
Ответить
СообщениеСпасибо! Но из намаслим деле не так много, и хотелось б хранить в коде, это удобнее

Автор - Olya273
Дата добавления - 19.04.2018 в 11:53
StoTisteg Дата: Четверг, 19.04.2018, 12:39 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
И менять удобнее, ага :D Где-то так примерно, проверяйте, я не гонял.
К сообщению приложен файл: Stomato.xlsm (62.4 Kb)


Интуитивно понятный код - это когда интуитивно понятно, что это код.

Сообщение отредактировал StoTisteg - Четверг, 19.04.2018, 12:43
 
Ответить
СообщениеИ менять удобнее, ага :D Где-то так примерно, проверяйте, я не гонял.

Автор - StoTisteg
Дата добавления - 19.04.2018 в 12:39
Olya273 Дата: Четверг, 19.04.2018, 18:37 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Прикольно получилось.:)
Спасибо!

Была пара опечаток - с этим я справилась вроде :)
Но выдает ошибку type mismatch. Но что не так с типами - тут я сдалась.

Во вложении

Можете пожалуйста посмотреть?
К сообщению приложен файл: 1468927.xlsm (57.0 Kb)
 
Ответить
СообщениеПрикольно получилось.:)
Спасибо!

Была пара опечаток - с этим я справилась вроде :)
Но выдает ошибку type mismatch. Но что не так с типами - тут я сдалась.

Во вложении

Можете пожалуйста посмотреть?

Автор - Olya273
Дата добавления - 19.04.2018 в 18:37
InExSu Дата: Пятница, 20.04.2018, 03:51 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!
попробуйте:
к
[vba]
Код
For k = cl To Cells(j, Columns.Count).End(xlToLeft)
[/vba]дописать
[vba]
Код
.Column
[/vba]

в начало строки
[vba]
Код
Range(Columns(cl - 2), Columns(ActiveSheet.UsedRange.Columns.Count)).Delete
[/vba]
дописать
[vba]
Код
if cl > 2 then
[/vba]

а дальше надо думать :-)


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеПривет!
попробуйте:
к
[vba]
Код
For k = cl To Cells(j, Columns.Count).End(xlToLeft)
[/vba]дописать
[vba]
Код
.Column
[/vba]

в начало строки
[vba]
Код
Range(Columns(cl - 2), Columns(ActiveSheet.UsedRange.Columns.Count)).Delete
[/vba]
дописать
[vba]
Код
if cl > 2 then
[/vba]

а дальше надо думать :-)

Автор - InExSu
Дата добавления - 20.04.2018 в 03:51
Olya273 Дата: Пятница, 20.04.2018, 09:18 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Сработало, спасибо!

Но у меня около 100 000 услуг, и ключевых слов больше, в таком варианте он не тянет, зависает :(

Возвращаюсь к первому варианту((((
 
Ответить
СообщениеСработало, спасибо!

Но у меня около 100 000 услуг, и ключевых слов больше, в таком варианте он не тянет, зависает :(

Возвращаюсь к первому варианту((((

Автор - Olya273
Дата добавления - 20.04.2018 в 09:18
StoTisteg Дата: Понедельник, 23.04.2018, 14:17 | Сообщение № 11
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
100 000 строк — это не зависает, а просто долго... Подумать надо... Может быть имеет смысл формулами, но я пока не могу придумать, какими.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение100 000 строк — это не зависает, а просто долго... Подумать надо... Может быть имеет смысл формулами, но я пока не могу придумать, какими.

Автор - StoTisteg
Дата добавления - 23.04.2018 в 14:17
StoTisteg Дата: Понедельник, 23.04.2018, 14:26 | Сообщение № 12
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Сначала надо придумать формулу, которая вернёт в ячейку B2 листа 1 содержимое ячейки A2 Листа 2, если в ячейке A2 Листа 1 есть строки, находящиеся в диапазоне B2:C2 Листа 2. Но я не силён в формулах...


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеСначала надо придумать формулу, которая вернёт в ячейку B2 листа 1 содержимое ячейки A2 Листа 2, если в ячейке A2 Листа 1 есть строки, находящиеся в диапазоне B2:C2 Листа 2. Но я не силён в формулах...

Автор - StoTisteg
Дата добавления - 23.04.2018 в 14:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проставление типа услуги по ключевым словам (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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