Из нижних нот:
http://www.sgi.com/tech/stl/PairAssociativeContainer.html
Пара ассоциативный контейнер не может предоставлять изменяемые итераторы (как определенные в требованиях тривиального итератора), поскольку тип значения изменяемого итератора должен быть назначаемым, а пара не назначаема. Однако ассоциативный контейнер пары может предоставить итераторы, которые не являются полностью постоянными: итераторы, для которых справедливо выражение (* i) .second = d.
Большинство элементов управления MSForms без окон (так как они не являются истинными окнами, скорее они нарисованы непосредственно движком VBA Forms как графические объекты), которые являются «легкими» для сравнения. Это означает, что вы можете сбрасывать больше на пользовательскую форму, чем вы могли бы использовать эквивалентные элементы управления, отличные от MSForms, в форме VB6.
Я не знаю, что такое верхний предел, но он будет либо абсолютным пределом, либо ограничение, налагаемое доступными ресурсами, поэтому, если вы можете добавить 1200, не встречая ни одного из этих & amp; excel ведет себя с точки зрения использования памяти, вы должны быть в порядке.
Тем не менее, это количество элементов управления, кажется, очень сложно представить пользователю сразу!
Я стараюсь держаться подальше от пользовательских форм, которые являются большими. Я предпочитаю использовать электронную таблицу для обработки сбора данных для таких вещей. Если есть зависимости, я при необходимости скрываю / выделяю строки или использую несколько листов. Я считаю, что это более простое решение (иногда).
Не существует жесткого предела для максимального количества элементов управления в форме. Как уже упоминалось в другом ответе, это будет зависеть от вашего оборудования, версии Excel и операционной системы.
К сожалению, у меня было слишком много опыта в создании форм VBA со слишком большим количеством элементов управления. : (
Я могу сказать, что как только вы получите около 200 элементов управления, вы можете начать замечать некоторые странные / прерывистые вхождения / ошибки.
Одна вещь, которую я нашел, полностью путем пробной версии и ошибка, заключается в том, что элемент управления Frame, обычно используемый для хранения групп переключателей, кажется, вызывает больше проблем, чем любой другой элемент управления. Если я создаю формы без каких-либо элементов управления Frame, я могу получить больше элементов управления в этой форме, прежде чем столкнуться с трудностями.
Я обнаружил, что независимо от того, сколько элементов управления вам нужно, они могут быть классифицированы по разным группам. Если какая-либо группа или категория будет содержать более дюжины элементов управления (включая метки), это почти всегда лучше иметь кнопку для этой категории, которая запустит суб-форму. Это действительно помогает уменьшить сложность основной формы.
Нет определенного количества элементов управления, которыми VBA ограничит вас. Он полностью зависит от системы, в которой вы ее запускаете.
Как общее правило:
Кроме того, если вы все еще используете более 100 элементов управления на экране (как вы говорите, то), то время, которое вы наняли новый конструктор пользовательского интерфейса для проекта.
GoodLUCK !!
PS: Попробуйте и разделите форму вверх, если это возможно. Я не могу представить, используя какое-либо программное обеспечение, которое выводит 154 элемента управления на одном экране. (MS-WORD довольно близко ;-))
UPDATE: некоторые вещи для вашей ссылки ниже ...
blockquote>