1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
1 | |
Автозаполнение колонок26.06.2018, 08:34. Показов 1938. Ответов 34
Метки нет (Все метки)
Добрый день. Нужна помощь.
Есть большой прайс. От поставщика он идет сгрупирован по категориям. Программа импортер не понимает сгруппированные прайсы, приходится удалять структуру а категории в ручную заполнять на отдельные столбцы как требуется для импорта. Можно ли каким то образом реализовать авто заполнение столбцов в прайсе? Price.xlsx - это часть прайса а Price1.xlsx то что нужно получить Пробовал найти примеры но не нашел. Сам с Vba почти никак. Количество товара может меняться поэтому жестко к адресам ячеек привязаться не получается. Оч. надеюсь на помощь
0
|
26.06.2018, 08:34 | |
Ответы с готовыми решениями:
34
Сравнить значения двух колонок одной таблицы со значениями двух колонок другой таблицы Автозаполнение таблицы Автозаполнение шаблонов Отключить автозаполнение listobject |
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
26.06.2018, 09:18 | 2 |
palmer_, ну это явно не курсовая, видимо, где-то работаете. И собираетесь и дальше, ссылаясь на Сам с Vba почти никак просить помощи на форуме. Но это не помощь, а сделайте за меня. Надо осваивать ВБА и обращаться с вопросами по вашей программе.
Алгоритм по вашей задаче достаточно прост. Объявляете массив длиной 3. В цикле находите ячейки с не белой заливкой (голубой, синей). В номер массива равный номеру столбца ячейки с непустым текстом заносите этот текст. И в строки без заливки в столбцы 9, 8, 7 заносите элементы массива 1, 2, 3. Снова встретили фон, по предыдущему заносите в массив те элементы, которые встретились (не все, например, только 3). Для начала как-то так.
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
26.06.2018, 09:58 [ТС] | 3 |
Cпасибо Burk.
Я не просил сделать за меня. Я хотел узнать возможно это в принципе или нет, и если возможно то в каком направлении рыть. Вы мне ответили. Большое вам спасибо.
0
|
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,722
|
|
26.06.2018, 10:05 | 4 |
Если проблема с массивом - делайте 3 переменных. Остальное как выше.
0
|
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,564
|
|
26.06.2018, 10:11 | 5 |
palmer_, не совсем понял что тебе нужно. дописать остальные столбцы или что?
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
26.06.2018, 10:35 [ТС] | 6 |
Во вложенных файлах.
Price.xlsx - это исходный Price1.xlsx то что хотел получить
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
26.06.2018, 11:11 | 7 |
palmer_, уточню на всяк случай - всё это делается за один проход по строкам от А до Я (последняя заполненная строка)
0
|
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,564
|
|
26.06.2018, 11:27 | 8 |
нажми CTRL+Q
1
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
26.06.2018, 11:53 [ТС] | 9 |
Не важно. я это вообще вручную делал.
В последствии это все будет скопировно в xls через специальную вставку как значения и в дальнейшем сохранено в xml Хотел рутинную операцию как то автоматизировать. Добавлено через 24 минуты unick12345 Спасибо вам большое. Все работает. Я каждый день сидел с этим прайсом по два часа.
0
|
3919 / 2316 / 785
Регистрация: 02.11.2012
Сообщений: 6,159
|
||||||
26.06.2018, 14:13 | 10 | |||||
в коде не помешает.
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
28.06.2018, 06:55 [ТС] | 11 |
Burk Похоже я не понял сразу вашего вопроса про проход от а до я.
Теперь наступил на грабли. В некоторых позициях отсутствует младшая категория и колонка заполняется из предыдущей а хотелось бы чтобы она пропускалась. Заметил не сразу, а только в процессе работы. Во вложении файл. Как это выглядит.
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
28.06.2018, 06:56 [ТС] | 12 |
Vlad999 Спасибо за подсказку, стало быстрее работать.
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
28.06.2018, 07:48 | 13 |
palmer_, что-то не понял ваше сообщение, ведь в моём алгоритме так и предусмотрено, если привязываться по номеру столбца категории. Если есть только вторая категория, то в неё и занесётся новое значение (во второй элемент массива), а третья (более низкая категория) сохранит старое значение. Поэтому я и предлагал массив из трёх элементов - и проще и никаких проблем. "Я" просто последняя заполненная строка в вашем листе. "А" = 1
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
28.06.2018, 07:54 [ТС] | 14 |
Да я сам уже понял что не то написал.
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
28.06.2018, 07:57 | 15 |
В вашем первом файле так и было показано. А нужно, чтобы в случае отсутствия низшей категории, она бы вообще не ставилась??? А не может быть так, что только первая есть, что тогда? Остальные тоже пустые?
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
28.06.2018, 08:16 [ТС] | 16 |
Вот как в файле нужно.
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
||||||
28.06.2018, 08:30 | 17 | |||||
palmer_, тогда такой макрос
1
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
28.06.2018, 09:00 [ТС] | 18 |
Здорово.
Все работает как надо. Спасибо огромное Burk
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
||||||
28.06.2018, 09:14 | 19 | |||||
palmer_, вдруг возможны пустые строки. строку 11 заменить, на всякий случай, на следующую
0
|
1 / 1 / 0
Регистрация: 05.06.2018
Сообщений: 30
|
|
28.06.2018, 11:32 [ТС] | 20 |
Спасибо большое.
Прогнал по рабочему прайсу все работает корректно. В итоге время обработки прайса сократилось почти с 2х часов до 25 мин. Начальнику я об этом конечно не скажу) Еще бы научиться удалять выборочно не нужные мне категории вообще бы укладывался в мин 15. Еще раз спасибо вам всем огромное.)
0
|
28.06.2018, 11:32 | |
28.06.2018, 11:32 | |
Помогаю со студенческими работами здесь
20
Рандомное автозаполнение таблицы Автозаполнение Combo box Автозаполнение ячеек формулами Автозаполнение в нужном столбце Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |