Есть ли ограничение в CommandButtons, которое может иметь книга Excel? [dубликат]

Из нижних нот:

http://www.sgi.com/tech/stl/PairAssociativeContainer.html

Пара ассоциативный контейнер не может предоставлять изменяемые итераторы (как определенные в требованиях тривиального итератора), поскольку тип значения изменяемого итератора должен быть назначаемым, а пара не назначаема. Однако ассоциативный контейнер пары может предоставить итераторы, которые не являются полностью постоянными: итераторы, для которых справедливо выражение (* i) .second = d.

5
задан Lunatik 22 April 2010 в 11:01
поделиться

4 ответа

Большинство элементов управления MSForms без окон (так как они не являются истинными окнами, скорее они нарисованы непосредственно движком VBA Forms как графические объекты), которые являются «легкими» для сравнения. Это означает, что вы можете сбрасывать больше на пользовательскую форму, чем вы могли бы использовать эквивалентные элементы управления, отличные от MSForms, в форме VB6.

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

Тем не менее, это количество элементов управления, кажется, очень сложно представить пользователю сразу!

4
ответ дан Alex K. 16 August 2018 в 00:21
поделиться
  • 1
    Привет, это соответствует тому, что я вижу. Теперь у меня есть форма, работающая сладко с желаемым количеством элементов управления на месте. – Lunatik 28 April 2010 в 08:34

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

0
ответ дан guitarthrower 16 August 2018 в 00:21
поделиться

Не существует жесткого предела для максимального количества элементов управления в форме. Как уже упоминалось в другом ответе, это будет зависеть от вашего оборудования, версии Excel и операционной системы.

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

Я могу сказать, что как только вы получите около 200 элементов управления, вы можете начать замечать некоторые странные / прерывистые вхождения / ошибки.

Одна вещь, которую я нашел, полностью путем пробной версии и ошибка, заключается в том, что элемент управления Frame, обычно используемый для хранения групп переключателей, кажется, вызывает больше проблем, чем любой другой элемент управления. Если я создаю формы без каких-либо элементов управления Frame, я могу получить больше элементов управления в этой форме, прежде чем столкнуться с трудностями.

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

3
ответ дан Stewbob 16 August 2018 в 00:21
поделиться
  • 1
    Я знаю, что вы имеете в виду под управлением Frame, я избегаю их, если это возможно в наши дни из-за проблем, которые вы выделяете. – Lunatik 22 April 2010 в 15:36

Нет жесткого n мягкого правила ...


Нет определенного количества элементов управления, которыми VBA ограничит вас. Он полностью зависит от системы, в которой вы ее запускаете.

Как общее правило:

  • Уменьшить количество элементов управления.
  • Используйте элементы управления сеткой вместо массивов кнопок.
  • Разделите его на логические формы для большей простоты.
  • Используйте легкие элементы управления (

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

GoodLUCK !!

PS: Попробуйте и разделите форму вверх, если это возможно. Я не могу представить, используя какое-либо программное обеспечение, которое выводит 154 элемента управления на одном экране. (MS-WORD довольно близко ;-))


UPDATE: некоторые вещи для вашей ссылки ниже ...

2
ответ дан TheCodeArtist 16 August 2018 в 00:21
поделиться
  • 1
    Элементы управления не отображаются на экране за один раз, вложенные многостраничные элементы управления отображают только разделы, относящиеся к конкретной обрабатываемой работе. Дело в том, что рабочий процесс очень сложный, и есть потенциал, который должен улавливать много деталей. Я знаю, что это звучит ужасно, но на данный момент работает очень красиво и очень хорошо подходит пользователям. – Lunatik 22 April 2010 в 11:19
  • 2
    Помогли ли вам вещи с легкими элементами управления? support.microsoft.com/kb/184687 Это должно значительно увеличить количество элементов управления, которые вы можете поддерживать (даже в младшей системе) – TheCodeArtist 22 April 2010 в 11:26
  • 3
    Re легкие элементы управления, ответ Alex K, кажется, указывает, что все формы VBA относятся к этому типу, обрабатываются приложением вместо Windows, изначально. Я, кажется, вспоминаю это раньше, и это имеет смысл, когда рассматриваются ограничения на VBA по сравнению с формами VB6. – Lunatik 22 April 2010 в 13:15
  • 4
    В этом случае рассмотрим следующее: Любая база данных, однако сложная, будет иметь некоторую структуру. Некоторые поля всегда можно группировать логически. Используйте такую ​​логику для распространения интерфейса на несколько экранов / форм. Разрешить пользователю перемещаться вперед-назад по разным формам. Это должно сократить требования к памяти проекта несколькими рамками. Удачи!! – TheCodeArtist 22 April 2010 в 13:23
Другие вопросы по тегам:

Похожие вопросы: