Добрый день! Прошу помощи. Начал изучать создание форм для ввода данных. И все бы хорошо, но нигде не могу найти информацию о добавление дополнительных полей в самой форме. Т.е. есть есть форма для ввода данных в таблицу, которая состоит из трёх выпадающих списков (данные берутся с листа "Справочник") и одного текстового поля - данные вносятся вручную. После нажатия на кнопку "Внести данные" все переносится в таблицу на листе "Данные". Первое в чем нужна помощь - при нажатии кнопки "Добавить строку" добавлялись аналогичные поля (3 комбобокса и один текстбокс) чуть ниже. Второе после заполнения вновь добавленных строк значения из них также добавлялись в таблицу. Файл прикладываю. Заранее спасибо за помощь!
Здравствуйте! Посмотрел Ваш файл, честно говоря, не совсем понятно - для чего на форме должны появляться новые поля (конечно, это Ваше дело, но все-таки интересно). И сколько таких строк должно появиться в окончательном итоге -- 2 или 20? И в таком случае должен увеличиваться размер формы? Может, имеет смысл сразу сделать на форме максимально необходимое число полей и заполнять их по мере необходимости? Это проще будет. Я не спец в VBA, не знаю, можно ли сделать так, чтобы макросом менять саму форму.
_Igor_61 написал: для чего на форме должны появляться новые поля
Это связано с тем, что информация вносится с бумажного носителя. Причем на каждом из них разное кол-во данных, на одном может быть 3 поля, на другом 18 полей. Далее. Если вы обратили внимание, то после выбора значений они копируются в таблицу, прописан соответствующий код. Если сделать сразу двадцать строк, то какой тогда код получится ? Это первое. Второе, в форме идет проверка все ли заполнено, соответсвенно если будут пустые поля, то данные не будут внесены в таблицу - выдаст ошибку. Еще пример, строк 20, а использую я всего три. В этом случае скопируются все 20, но в таблице будет заполнено 3 строки, а остальные будут пустые. Да и потом сложно предположить какое же будет максимальное кол-во строк.
Цитата
_Igor_61 написал: не знаю, можно ли сделать так, чтобы макросом менять саму форму
А если форму просто на листе сделать? По-моему так проще будет, а новые поля высвечивать при помощи УФ. И условия для записи тоже можно задать - чтобы в таблицу записывались только заполненные строки, а не все 20
Никто не хочет помочь? ((( Порылся я на просторах интернета и на англоязычном сайте наткнулся на
Код
Set Control = object.Add( ProgID [, Name [, Visible]])
При помощи него сейчас добавляется ComboBox. (Выпадающий список 1) Первый вопрос - как добавить сразу несколько полей - еще 2 (два) ComboBox (Выпадающий список 2 и 3) и один TextBox (Значение). Второй вопрос - как сделать, чтобы при нажатии кнопки "Добавить строки". все последующие строки автоматом смещались ниже? Ну и третий вопрос
Цитата
Александр Калимулин написал: после заполнения вновь добавленных строк значения из них также добавлялись в таблицу