Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/23: Рейтинг темы: голосов - 23, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 24

Динамическое создание формы с CommandButton в несколько столбцов

15.07.2020, 13:49. Показов 6106. Ответов 71
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане! Строго не судите, в VBA я полный "ноль", но пытаюсь сделать небольшую программку. Пытался слепить из разных вариантов на этом и других форумах, многое, что получилось, но застрял на одном вопросе. Суть вопроса: есть некие данные, которые подразделяются на группы. По выбору группы нужно создать динамически форму с кнопками, что бы они были не в один столбец, а в два или три, или более, то есть распределить по всей форме. Количество кнопок зависит от количества данных в группе, их может быть и три, и сто. Вроде понятно объяснил. Файл-пример в приложении. Если сможете помочь, буду очень благодарен.
Вложения
Тип файла: rar Пример (дин. создание формы).rar (28.9 Кб, 19 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2020, 13:49
Ответы с готовыми решениями:

Динамическое создание столбцов
Здравствуйте, пишу программу наподобии таблицы. Т.е. сначала есть лишь столбец ФИО, будет подтягиваться список людей и заполнять строки...

Динамическое создание таблицы из нескольких столбцов
Вот код: $(document).ready(function(){ var stolb = 0, product = $('#product'); if(stolb == 0) { ...

Динамическое создание столбцов таблицы или. _?
Доброго времени суток, уважаемые коллеги! Прошу вашей помощи (совета), ибо не имею достаточного опыта в данной теме. Итак, есть...

71
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 11:13
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от КостяФедореев Посмотреть сообщение
Alexey1974, и думаю надо поставить ограничение на количество кнопок, если их будет больше 1000, то форма не влезет на экран.
У формы же есть Scroll, можно прилепить )

Цитата Сообщение от Narimanych Посмотреть сообщение
Интуиция подсказывает, что проблему можно было бы решить совершенно по другому...
Но суть проблемы - под строжайшим секретом.
И надеюсь увидеть решение для 500 кнопок на форме для 15" экрана , исходя из вышеизложенных методов решения...
Интригует....
Фз, может у автора тест по VBA, а так конечно решение не верное (5000, 50000 кнопок?), но, мб, возможное
0
Часто онлайн
 Аватар для КостяФедореев
987 / 637 / 280
Регистрация: 09.01.2017
Сообщений: 2,080
16.07.2020, 11:18
Цитата Сообщение от anton-sf Посмотреть сообщение
У форма же есть Scroll
У автора был запрос, чтобы все кнопки были видны на форме и в связи с этим применил форму с изменяемым размером, чтоб все кнопки влезали.
0
bite
 Аватар для I can
5009 / 4821 / 852
Регистрация: 13.04.2015
Сообщений: 10,089
16.07.2020, 11:27
Цитата Сообщение от Narimanych Посмотреть сообщение
Интуиция подсказывает, что проблему можно было бы решить совершенно по другому...
Похоже ТС не хочет слышать голос разума
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 24
16.07.2020, 11:29  [ТС]
Цитата Сообщение от anton-sf Посмотреть сообщение
Замените
Visual BasicВыделить код
1
Result = UserForm1.ShowExt
на
Visual BasicВыделить код
1
If Not Result Is Nothing Then ShowExt = Result.Value
А в модуле, в процедуре StartExample, замените
Visual BasicВыделить код
1
MsgBox "Выбрано : " & """" & Result & """"
на
Visual BasicВыделить код
1
2
3
4
5
If Result <> "" Then
    MsgBox "Выбрано : " & """" & Result & """"
Else
    MsgBox "Ничего не выбрано!"
End if
Появляется ошибка
Миниатюры
Динамическое создание формы с CommandButton в несколько столбцов  
0
 Аватар для Narimanych
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
16.07.2020, 11:36
anton-sf,
Если
Цитата Сообщение от anton-sf Посмотреть сообщение
у автора тест по VBA,
, то ни одно из приведенных здесь решений не соответсвует названию темы
Цитата Сообщение от Alexey1974 Посмотреть сообщение
инамическое создание формы с CommandButton в несколько столбцов
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 11:43
Alexey1974, извиняюсь, поторопился, вот правильный код процедуры
Visual Basic
1
2
3
4
5
6
7
8
9
Sub StartExample()
    Dim Result As String
    Result = UserForm1.ShowExt
    If Result <> "" Then
        MsgBox "Выбрано : " & """" & Result & """"
    Else
        MsgBox "Ничего не выбрано"
    End If
End Sub
Добавлено через 2 минуты
Цитата Сообщение от Narimanych Посмотреть сообщение
ни одно из приведенных здесь решений не соответсвует названию темы
Действительно... Сама форма не создаётся динамически...
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 24
16.07.2020, 11:43  [ТС]
Цитата Сообщение от anton-sf Посмотреть сообщение
Фз, может у автора тест по VBA, а так конечно решение не верное (5000, 50000 кнопок?), но, мб, возможное
Конечно 5000 кнопок вряд ли будет, но почему была еще мысль динамического создания формы, если вдруг все-таки будет 5000 кнопок, то создается форма, к примеру на 100 кнопок с названиями из списка и одна кнопка для создания следующей формы со следующими 100-а кнопками и т.д.
Цитата Сообщение от I can Посмотреть сообщение
Похоже ТС не хочет слышать голос разума
Как раз и прислушался к совет профессионалов. Остановился на предложенных вариантах и буду их монтировать в свой проект. Правда пока не знаю, что получится, так-как не специалист в этом деле, но мыслей много, что хотелось бы сделать.
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 11:48
Цитата Сообщение от Alexey1974 Посмотреть сообщение
Как раз и прислушался к совет профессионалов. Остановился на предложенных вариантах и буду их монтировать в свой проект. Правда пока не знаю, что получится, так-как не специалист в этом деле, но мыслей много, что хотелось бы сделать.
Ну погодите, предложенные варианты не являются советами, и уж я точно не профессионал, предложены варианты решения конкретной задачи, а советы то были другими - так не делать

Добавлено через 1 минуту
Для вывода списка есть, как минимум один, специальный инструмент - ListView
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 11:51
И вот один из примеров как это выглядит с использованием ListView (+TreeView)
Миниатюры
Динамическое создание формы с CommandButton в несколько столбцов  
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 24
16.07.2020, 11:52  [ТС]
Цитата Сообщение от Narimanych Посмотреть сообщение
то ни одно из приведенных здесь решений не соответсвует названию темы
Может я не правильно указал название темы, прошу прощения. Я пока очень далек от этой науки.
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
16.07.2020, 14:38
Цитата Сообщение от Alexey1974 Посмотреть сообщение
следующей формы со следующими 100-а кнопками и т.
невыполнимая задача, на 50 листах найти нужную да ещё среди таких же лэйблов. Надо просто переосмыслить алгоритм, забыв о том, что вы писали. Сделать кнопки не проблема и с созданной заранее формой, у меня была аналогичная задача только не на форме, а на листе.
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 24
16.07.2020, 14:44  [ТС]
Цитата Сообщение от Burk Посмотреть сообщение
невыполнимая задача,
Не настаиваю. Просто обычно сначала возникает идея, потом думаешь как ее реализовать. И в процессе реализации появляется компромиссное решение.
0
 Аватар для Narimanych
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
16.07.2020, 14:54
Цитата Сообщение от Alexey1974 Посмотреть сообщение
Просто обычно сначала возникает идея
Представьте , что это только у вас ОДНА...

А если бы не держали в секрете ... -то сколько идей (различных) могло бы возникнуть на этой ветке...

Удачи вам...
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 24
16.07.2020, 15:22  [ТС]
Цитата Сообщение от Narimanych Посмотреть сообщение
А если бы не держали в секрете ...
Идея не секретная. Я на данного рода форумах новичок, и не до конца еще знаю все правила форума, какие вопросы в одной теме можно писать, а какие нет. Вообще у меня небольшое производство рыбных деликатесов, хочу попробовать автоматизировать весь производственный процесс в плане учета сырья, технологического процесса, учета готовой продукции и т.д., и синхронизировать результаты с бухгалтерской программой. Вот начал с малого. Небольшая программка для маркировки входящего сырья. Конечно есть готовые системы учета, но их нужно допиливать под себя и денег они стоят не мало и допилка еще столько же. Вот и решил сам попробовать, заодно и подучиться этой науке. Это если в общем. А если по поводу моего вопроса, то дальнейшие действия программки должны быть следующие: нажимаем на кнопку с названием сырья, название переносится в Lable на форме, в Textbox вводится вес, автоматически присваивается номер и распечатывается этикетка с данными и штрих-кодом или программируется чип. Почему кнопки, что бы у сотрудника перед глазами на сенсорном мониторе было, образно говоря, две кнопки - с названием продукта и кнопка печать. Вот как-то так.
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 15:30
Цитата Сообщение от Alexey1974 Посмотреть сообщение
на сенсорном мониторе
Тогда моя идея с полосой прокрутки не очень подходит, была бы правильней ваша задумка - кнопка листания страниц
0
Часто онлайн
 Аватар для КостяФедореев
987 / 637 / 280
Регистрация: 09.01.2017
Сообщений: 2,080
16.07.2020, 15:39
Alexey1974, я почему - то и думал, что это для сенсорного экрана делается...
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 15:46
Цитата Сообщение от anton-sf Посмотреть сообщение
Тогда моя идея с полосой прокрутки не очень подходит, была бы правильней ваша задумка - кнопка листания страниц
Цитата Сообщение от КостяФедореев Посмотреть сообщение
я почему - то и думал, что это для сенсорного экрана делается
Тогда и вопрос про большое кол-во кнопок снимается, можно замутить форму фиксированного размера, с фиксированным количеством немаленьких кнопок, у тех для которых нет данных отключать активность или видимость
0
 Аватар для Narimanych
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
16.07.2020, 15:57
anton-sf,
Цитата Сообщение от anton-sf Посмотреть сообщение
Тогда и вопрос про большое кол-во кнопок снимается, можно замутить форму фиксированного размера, с фиксированным количеством немаленьких кнопок, у тех для которых нет данных отключать активность или видимость
СМ пост №5
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
16.07.2020, 16:01
Narimanych, вот этот?
Цитата Сообщение от Alexey1974 Посмотреть сообщение
Сейчас пока 60, но будет увеличение. Думаю пока на 100 нужно остановиться. Есть возможность для дальнейшего увеличения количества? Может если в одну форму все не влезут, по кнопке "Далее" другую создавать со следующими кнопками?
Если он, то да, я вижу что автор уже это предлагал, но кто же знал что это будет необходимость ) Да и вообще цели были не ясны, вроде бы...
0
bite
 Аватар для I can
5009 / 4821 / 852
Регистрация: 13.04.2015
Сообщений: 10,089
16.07.2020, 16:35
Цитата Сообщение от Alexey1974 Посмотреть сообщение
нажимаем на кнопку с названием сырья, название переносится в Lable на форме, в Textbox вводится вес, автоматически присваивается номер и распечатывается этикетка с данными и штрих-кодом или программируется чип.
При таком количестве кнопок оператор промахиваться будет постоянно.
Можно предложить другой вариант - наверняка у сырья есть штихкод(ну или сделать для каждого вида - не проблема). Так вот - на листе Эксель делаете "базу данных", а точнее список штрихкод - название сырья. Оператор сканером считывает штрихкод, программа его находит в базе и выводит в форму, оператору остаётся ввести вес и нажать единственную кнопку "печать".

Добавлено через 4 минуты
Цитата Сообщение от Alexey1974 Посмотреть сообщение
вводится вес
Да и весы можно при желании присобачить.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2020, 16:35

Динамическое создание столбцов таблицы или.?
Доброго времени суток, уважаемые коллеги! Прошу вашей помощи (совета), ибо не имею достаточного опыта в данной теме. Итак, есть...

Динамическое создание столбцов DataGrid-а журнального вида
Доброго времени суток! Допустим, у нас есть обычный DataGrid, который заполняеться из оперделенной коллекции (например, это группа...

Динамическое создание формы
Требуется через js отправить пользователя с пост запросом, адрес статичный но поля нет, (пользователь жмёт на кнопку, идёт запрос на...

Динамическое создание формы
Подскажите плиз, как динамически создавать форму. По задаче - у меня есть форма, на ней кнопки, меню... При нажатии на определённую...

Динамическое создание формы
Всем привет, есть малый вопрос насчет передачи параметров.Пишу уже свои функции. Сейчас пишу функции для работы с несколькими формами....


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru