|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.02.2011, 12:38 | #1 | |
Пользователь
Регистрация: 21.01.2011
Сообщений: 20
|
макрос и ВПР
Добрый день.
Помогите плз. На одном листе ("справочник") есть два столбца: товар принадлежность "яблоки" яблоки яблоки. яблоки яблоки_ яблоки "груши" груши На втором листе ("исходник") так: Товар Продажи "яблоки" 1 000 яблоки 2 000 яблоки 5 000 груши 7 000 апельсины 9 000 яблоки_ 21 000 Мне необходимо на основе справочника исправить название товар. Для этого делаю цикл по листу "исходники". Беру к примеру "яблоки" и перетаскиваю в ячейку на лист справочник, где в соседней ячейки прописана функция ВПР по 2 стодбцам справочника =ВПР(F19;$A:$B;2;0). Функция ВПР возвращает яблоки (уже без ковычек) затем копирую на лист исходник и все хорошо. Но если к примеру в имени товара ничего менять не надо, то впр выдаст #Н/Д. В макросе в условии (IF) не воспринимает и пишет ошибку: run time 13: type mismatch. Помогите разобраться? Сама прога: Цитата:
именно хочется сделать 1 цикл и ВПР. Через 2 цикла и без ВПР все работает. спасибо |
|
08.02.2011, 12:58 | #2 |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Не совсем ясна задача, но может в одном цикле просто убрать ненужные символы(".", "_" и пр.)
Код:
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru Последний раз редактировалось alex77755; 08.02.2011 в 13:07. |
08.02.2011, 13:14 | #3 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 20
|
могут быть не только символы. А например так: "ябл.". Поэтому я и сделал справочник
|
08.02.2011, 13:37 | #4 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
Мож проще:
If с Like "ябл*" then c=... Понятно, что вместо "ябл*", адрес ячейки из словаря.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
08.02.2011, 14:41 | #5 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Цитата:
А если не груши, а гр.? Вметсто мандарины - ма-ны. Да мало ли кому что на ум вбредёт.
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
|
08.02.2011, 15:15 | #6 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
А если еще проще - давайте Ваш файл-пример с реальным расположением данных(чтоб потом не было бесконечных уточнений) и с Вашим словарем. Рисовать за Вас пример, как видите, никто не спешит.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
08.02.2011, 16:43 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Так вроде просто 2 массива, цикл в цикле... сравнить - переписать. Без формул вообще.
webmoney: E265281470651 Z422237915069 R418926282008
|
08.02.2011, 16:52 | #8 | |
Пользователь
Регистрация: 21.01.2011
Сообщений: 20
|
Цитата:
Так можно вообще без макросов просто функцией на листе исходник =ЕСЛИОШИБКА(ВПР(E2;справочник!A$2:B $75;2;0);E2). |
|
08.02.2011, 16:54 | #9 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
Отож, возьми и напиши. А потом окажется, что данные расположены не так и не в том месте(и не такие). И на уточнение-переписку макросов уйдет трое суток. Без примера тут делать нефиг.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
08.02.2011, 16:56 | #10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я уже написал - может самому пригодится, или ещё куда. Жду примера для примерки
Вообще, этот справочник можно держать например в отдельном файле, даже например в текстовом, или в файле с макросом. И обрабатывать этим кодом выделенный диапазон, или столбец целиком. Т.е. открыли инструмент (или даже иметь его всегда под рукой в Personal.xls), открыли кривой файл, выделили корявые названия - запустили код. Готово.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 08.02.2011 в 17:05. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. | Ples | Microsoft Office Excel | 8 | 17.12.2016 18:15 |
Exel - при открытии файла через макрос, если файл отсутствует - виснет весь макрос | gregory1b | Microsoft Office Excel | 2 | 14.10.2010 11:51 |
Макрос, запускающий макрос из другого закрытого файла | petruha | Microsoft Office Excel | 7 | 14.03.2010 11:31 |
Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос | as-is | Microsoft Office Excel | 4 | 25.02.2010 07:51 |
ВПР | stas77 | Microsoft Office Excel | 2 | 20.01.2010 09:46 |