Страницы: 1
RSS
Взаимодействие изменяемых ListBox и выгрузка данных в таблицу
 
Доброго времени суток, уважаемые жители форума и истеные знатоки Эксель! Обращаюсь к Вам с просьбой о помощи в решении задачи с ListBox. На листе1 таблица с фамилиями и работами (ячейки "работа" и нужно заполнить); на листе2 само наименование работ(отображыються в ListBox). Существуют две формы одна для просмотра и перехота ко второй, а другая для выбора работ. Подскажите: 1) как сделать,чтоб выделив фамилию на ЛистБоксе Формы1, данные выбраные в форме2 выгрузились именно в нужную ячейку таблицы? 2)Как в форме2, выбраные данные из разных ЛистБоксов(зелёных) перенести в один(серый),для последующей выгрузки в таблицу? 3)Как в форме2,в ЛистБоксах(зелёных) изменять количество (вместо чёрточки,ставить необходимое число штук)? Так как реальная таблица уж очень огромная создал маленький образец.Заранее огромное спасибо!
 
1. Find или перебор по листу.
2. Зачем вообще этот серый ListBox? Можно ведь сразу из выбранных заносить на лист.
3. В ListBox Вы не сможете менять значения. Нужен дополнительный контрол, например TextBox. Или InputBox.
 
И зачем Вы усложняете себе задачу? Сделайте всё на одной (второй) форме: в серый ListBox поместите список, который сейчас у Вас на первой форме. Зачем вообще две формы?
 
Спасибо за совет. Сразу так и сделал:всё в одном ЛБ. И мало того - всё работало. Но суть такова,что количества работ очень много (более 1000). Многте из них повторяются, но уже совсем в другом типе работ. Если всё делать одним списком, то работающий с документом начинает теряться от обилия надписей. А так-как в моей работе от оперативности,порой, зависят жизни, то лишнее время тратить не хочеться.(вот почему использую несколько зелёных ЛБ). По поводу серого ЛБ... Так тут всё просто, так как перечень,как я уже писал ранее,велик то вносящий очень часто забывает, что уже внес, а что еще нет. А с помощью серого ЛБ он бы мог видить ход вносимых данных (перепроверить себя в случае надобности) перед выгрузкой в таблицу. Вот по этому так и сделал. Сейчас буду учить, что такое InputBox и с чем его едят. ))) Спасибо Вам за совет!!!!!
 
Раз выбора нет,решил немного изменить форму2.Вместо серого ЛистБокса установил ТекстБокс.На кнопку "Внести в общий реестр" повесил задание вносить в активную ячейку (выбор которой провожу в форме1). Юрий, подскажите пожалуйста, как должен выглядеть макрос переноса данных с разных ЛистБоксов (формы2) в ТекстБокс (в виде столбика,т.е. каждому пункту - своя строка). Спасибо Вам огромное заранее!
 
А из ТекстБокса Вам удобно будет считывать результат?
 
Считывать на лист...
 
А из ТекстБокса Вам удобно будет считывать результат?

Простите меня, но я не понял вопрос.
ТекстБокс предпологает редактирование данных перед выгрузкой на лист ( в активную ячейку ). А с помощью ЛистБоксов упрощаеться выбор.
 
Но так ведь будет крайне неудобно - количество указывать в многострочном ТекстБоксе.
Алгоритм: циклом перебираем ЛистБоксы, вложенный цикл смотрит - выделена ли строка в текущем ЛистБоксе - если да, то выводится или некая форма с маленьким ТекстБоксом для для ввода количества, или InputBox. Затем всё это сразу в ячейку.
 
Простите меня, я пытался разобраться с InputBox. Но увы, что то не пошло. Вы пологаете, что мой вариант тоже усложняет работу и даже не стоит пытаться?
 
Я бы сделал иначе. Вечером покажу.
 
Спасибо Вам!
 
См. файл.
1. Первая форма не нужна.
2. Кнопка "Внести в список" на странице А не нужна.
3. Обе кнопки на странице Б не нужны.
 
Уважаемый Юрий! Еще раз прошу Вас принять мои извенения за столь долгий ответ. Просмотрел сегодня Ваш вариант. Спасибо Вам огромное, что так быстро отозвались и за Вашу щепетильность. Но вынужден сказать, что Ваш вариант немного не подходит. Так как не всегда приходится дополнять выбраные в ListBox данные (Не спорю,вина моя! Забыл об этом сказать ранее.) И на это уходит лишнее время.
 Давиче немного порылся в сети и нашел следующий вариант: http://www.44342.com/ms-excel-f81-t131736-p1.htm , но и с ним не всё понятно. Он подходит полностью... Но не могу понять:
1)как добовлять в TextBox не только первый столбец даннных, но и второй.
2)как добавлять по нажатию кнопки данные из нескольких ListBox.
Понимаю, что теперь это звучит,как то нагло., но вновь вынужден обратиться к Вам за помощью. Еще раз  простите, что отнял у Вас время. Заранее спасибо!
 
Ronin751, обращаясь персонально, Вы тем самым исключаете большую группу людей, которые могли бы Вам помочь.
 
Прошу простить меня! Вы конечно же правы. Просто, кроме Вас никто не обратил внимание на мою тему. Я же, со своими не глубокмми познаниями в эксель, буду рад любой помощи. Спасибо!
 
Вроде бы получилось. Конечто же может показаться примитивным, но главное, что работает. Прошу посмотреть, может можно упростить макрос или же как то более савершенно написать. Буду рад даже любой критике. Заранее всем огромное спасибо!
 
Подскажите пожалуйста, как изменить макрос, чтоб в ТекстБокс добавлялись данные из ЛистБокса при разных позициях ТабСтрипа? Сейчас,после выбора на стр.1,допустим А1,А2 данные переносяться в ТекстБокс. Но при переходе на стр.2 и выборе, допустим Б3,Б4 в ТекстБоксе пишет лишь Б3,Б4. :-(  Нужно, чтоб данные со стр.1  не уничтожались при выборе со стр.2. Помогите ПЛЗ?
Страницы: 1
Наверх