Показать диапазон ячеек в пользовательской форме; затем обновите - PullRequest
0 голосов
/ 04 февраля 2009

Я использовал грубый метод, чтобы помочь пользователю обновить некоторые ячейки - поместив их в лист. Можно ли каким-то образом отобразить различные диапазоны в пользовательской форме, один за другим, а затем попросить пользователя обновить их, нажать кнопку и перейти к следующему?

По сути, можно ли в Excel автоматически создавать форму ввода на основе диапазона? Процесс обновления и сохранения обратно на лист я могу сделать; это производство правильной формы, которое я не могу.

Ответы [ 3 ]

0 голосов
/ 04 февраля 2009

Это можно сделать, но единственный способ, который я могу придумать, - это создать пользовательскую форму, которая автоматически заполняется на основе переданного диапазона. Таким образом, в Excel вы можете использовать различные макросы, которые вызывают заполнение формы на основе разные диапазоны. Я попробовал это сделать в файле Excel для проверки концепции, и он, кажется, работает, единственная проблема, о которой я могу подумать, это то, что вам нужно найти способ сообщить пользователю, что поле ввода является чем.

Я думаю, что нужно сделать, чтобы программно добавить элементы управления к пользовательской форме (я называю текстовые поля адресом ячейки, который он будет заполнять), а затем, когда форма замкнута, переберите все текстовые поля и заполните ячейки текстовым полем. значения.

Вы можете увидеть, что я сделал на: https://my.syncplicity.com/share/uicgbs3rl0/InputForm.xls

Я думаю, что все, что нужно сделать, это чтобы вы выяснили, как добавлять метки для текстовых полей, и убедитесь, что размер формы изменен на основе добавляемых вами элементов управления ...

0 голосов
/ 05 февраля 2009

Это довольно грубо и старомодно, но если у вас есть данные в стандартном формате списка - то есть заголовки столбцов в первой строке вашего диапазона, а затем по одной записи данных в каждой строке ниже - затем выберите ячейку в диапазоне и Data > Form даст вам грубую форму ввода с примерно необходимой вам функциональностью.

Вы также можете сделать это в VBA, вызвав метод ShowDataForm соответствующего листа. Просто выберите ячейку в пределах необходимого вам диапазона. Макрос останется приостановленным, пока пользователь не закроет форму данных

0 голосов
/ 04 февраля 2009

Я не совсем уверен, что вы ищете, но вы можете вставить второй лист и использовать его в качестве «формы». Другим способом может быть диалоговое окно с полем ввода.

В любом случае вы представляете ячейки, которые пользователь хочет изменить, одну за другой, используя функцию vba. Вы реализуете «предыдущее поле» и кнопку «следующее поле», чтобы пользователь мог просматривать диапазон ячеек. Если пользователь нажимает «следующее поле», вы сохраняете его данные и берете следующую ячейку из предыдущего определенного диапазона ячеек.

У вас может быть «поле конфигурации», в котором вы определяете диапазон ячеек, которые вы хотите изменить.

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