Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
1

Копирование данных с нескольких листов с по двойному клику мыши

30.11.2015, 19:13. Показов 2524. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите написать макрос для копирования данных в лист "Заказ" по двойному клику мыши по цене товара
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2015, 19:13
Ответы с готовыми решениями:

Как скопировать данные по двойному клику мыши
Добрый вечер! Может быть кто-нибудь поможет подправить код в VB? Нужно, чтобы при двойном клике...

Копирование строк с нескольких листов в новый
Прошу помочь в создании макроса. 1. С листа 1 все непустые строки скопировать на лист Итог в...

Различная выборка из диапазона столбца нескольких значений разного множества листов и копирование в сводные таблицы
Вечер добрый. Чуть мало помню из студенческого курса написания алгоритмов выполнения повторяющихся...

Копирование данных листов между разными книгами
Еще раз здравствуйте. Заканчивается моя работа с VBA. Остался последний вопрос. Имеем: Книга...

28
3897 / 2302 / 776
Регистрация: 02.11.2012
Сообщений: 6,123
01.12.2015, 08:46 2
помогите себе сами, дайте материал с чем работать (файл пример) и описание согласно файла, тогда будет больше шансов на помощь.
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
01.12.2015, 10:35  [ТС] 3
Файл добавил, в просторах интернета погуглил но подходящего решения не нашел.
Описание файла:
есть закладка "Прайс - лист1" в ней прайсовые цены, необходимо при двойном клике по цене
копировать в закладку "Заказ" данные по товару из закладки "Справочник"
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
01.12.2015, 10:36  [ТС] 4
файл
Вложения
Тип файла: xls тест.xls (91.5 Кб, 14 просмотров)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
01.12.2015, 11:22 5
Как вариант
Вложения
Тип файла: zip Worksheet_BeforeDoubleClick.zip (24.9 Кб, 13 просмотров)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
01.12.2015, 14:02 6
Если необходимо также запретить добавление повторов (в примере они определяются по артикулу, но можно и по наименованию товара), то
Вложения
Тип файла: zip Worksheet_BeforeDoubleClick2.zip (24.8 Кб, 8 просмотров)
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
01.12.2015, 14:40  [ТС] 7
Решение хорошее только вот бы чуть чуть подправить -
товары нужно выбирать в закладке "Прайс - лист1" а не из закладки "Справочник".

Я не силен в макросах сварганил свое решение, коряво но работает (по двойному клику мыши проставляется "а" в ячейке возле цены, в справочник жестко привязана ссылка на эту ячейку и на основании справочника строится сводная таблица)
Вложения
Тип файла: rar тест.rar (26.9 Кб, 7 просмотров)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
02.12.2015, 10:04 8
Лучший ответ Сообщение было отмечено Igor_K65 как решение

Решение

#3
Вложения
Тип файла: zip Worksheet_BeforeDoubleClick3.zip (24.9 Кб, 21 просмотров)
1
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
02.12.2015, 10:51  [ТС] 9
Спасибо за помощь это то что нужно!

Добавлено через 34 минуты
Столкнулся с проблемой - если артикул содержит буквы то данные в закладку копируются некорректно (вместо артикула цена) и в сообщении после двойного клика вместо названия цена, но если повторно туже позицию попробовать выбрать то сообщение с ошибкой правильное (с наименованием товара из справочника)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
02.12.2015, 11:12 10
Нет таких проблем в моём примере (конечно, если артикул будет "001", то в заказе мы получим 1, но это лечится, например, установкой текстового формата в конечной ячейке)

Возможно, Вы начали менять структуру таблицы, а макрос оставили без изменений.
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
02.12.2015, 11:20  [ТС] 11
вопрос снимается (т.к. в строке ищется первое числовое значение) в колонке А проставил порядковый номер и проблема решилась.
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
02.12.2015, 11:31 12
На будущее - если меняете структуру, то нужно выкладывать новый файл. Ибо в моём примере вообще нет поиска , нет копирования, а столбец A просто заполняется именем листа, где был осуществлён двойной клик.
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
02.12.2015, 13:38  [ТС] 13
Еще есть необходимость выбирать доп. характеристики (добавил закладки "Справочник товаров" и "Заказ
товара")
Сам попробовал переделать не получается - можно ли еще добавить,
что после двойного клика по цене появлялась форма с запросом "Выбрать цвет и доп характеристики"
в ней:
выпадающий список Товар с полным наименованием (по умолчанию пустое) из закладки "Справочник
товаров" (выводим только те товары по которым совпадает артикул)
кнопки Да и Нет
если нажимаем да (Enter) то копируем в закладку "Заказ товара"данные из закладки
"Справочник товаров" с привязкой к Коду товара (предварительно выбрав из выпадающего
списка товар )
если нажимаем нет (Esc) то копируем в закладку "Заказ"данные из закладки
"Справочник" с привязкой к Артикулу
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
02.12.2015, 13:40  [ТС] 14
файл
Вложения
Тип файла: rar Worksheet_BeforeDoubleClick4.rar (22.1 Кб, 5 просмотров)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
02.12.2015, 22:02 15
Лучший ответ Сообщение было отмечено Igor_K65 как решение

Решение

P.S. Вместо выпадающего списка ComboBox используется список ListBox, чтобы наглядно видеть все четыре столбца.

Разумеется, мой выбор не является обязательным к исполнению, поэтому, Вы можете самостоятельно осуществить "обратную" замену.
Вложения
Тип файла: zip Worksheet_BeforeDoubleClick4.zip (25.5 Кб, 7 просмотров)
1
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
03.12.2015, 09:28  [ТС] 16
Спасибо за помощь, это то что нужно!
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
03.12.2015, 11:05  [ТС] 17
Заметил, что если в справочнике товаров есть только один товар на один артикул, то в заказ товаров все поля заполняются значением артикул.

Тип прайс - листа Артикул Код товара Товар Цена
Справочник товаров 2 2 2 2
Вложения
Тип файла: rar Worksheet_BeforeDoubleClick4.rar (28.4 Кб, 5 просмотров)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
03.12.2015, 11:19 18
Поменяйте

Visual Basic
1
Application.Index(ListBox1.List, iRow + 1)
на

Visual Basic
1
Application.Index(ListBox1.List, iRow + 1, 0)
1
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 22
03.12.2015, 14:14  [ТС] 19
Внес, все замечательно работает спасибо.

Добавлено через 16 минут
Не зря говорят, что аппетит появляется во время еды
пробую добавить последний штрих, но пока что безуспешно
Возможно ли добавить возможность внесения количества на выбранный товар при выборе из списка и возможность выбора нескольких товаров из списка.
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
03.12.2015, 22:06 20
Если оставить список с однократным выбором, то можно просто добавить текстовое поле и использовать его для ввода количества.
Для многократного выбора - можно изменить значение свойства MultiSelect на 1-fmMultiSelectMulti , но затем, разумеется, потребуются некоторые изменения в коде.
0
03.12.2015, 22:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2015, 22:06
Помогаю со студенческими работами здесь

Объединение данных с нескольких листов по ключу
Добрый день. Имею 2 таблицы в книге excel, в которых столбцы с ключами не повторяются. И имеют вид...

Копирование данных с одного листа на несколько других листов
В общем, есть код который должен копировать данные из одного листа на несколько других листов. Вот...

Копирование данных с определённого массива с несколько листов в один
Помогите исправить ошибку в макросе: значит есть несколько листов в 1 файле, нужно скопировать...

Выборка данных из нескольких листов в отдельный файл
Здравствуйте, прошу помочь со следующим макросом: есть довольно большая база данных о предприятиях,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru