Я исследовал, но не смог найти, возможно ли сохранить строку вместо Range в ActiveX ComboBox.VBA хранит строку вместо диапазона в ListFillRange ActiveX ComboBox
В моей книге столько зависимостей, что она пересчитывает ComboBox (ы) и т. Д. Всякий раз, когда пользователь вводит какой-либо тип формулы. Я вставил значения в базовый диапазон, основанный на формуле, который помогает и отключает вычисление безрезультатно. Любые рекомендации приветствуются.
Обновление - привязка привязана, и это пример установки диапазона.
ThisWorkbook.Worksheets("Securities").OLEObjects("cboList").ListFillRange = "Securities!" & Range("mySecurities").Address
путаница (с точки зрения ОП и отвечающего) Я считаю, связано с тем, что их два основных типа «Combo коробки» в Excel. FYI есть комбинированное поле «active X» для самого листа (внедренного как OLEobject) и выпадающего списка activeX на основе MSForms, который доступен исключительно из VBA. Для объекта OLEObject я считаю, что это должно быть привязано к диапазону OR или набору строковых значений (но не для обоих одновременно). Для сопоставления MSForms см. Метод, описанный Рейчел ниже. –
Я не понимал, что у activex есть две «комбинированные поля», но это разъясняет мое замешательство. Честно говоря, я, вероятно, использовал бы эту версию, но мой босс хотел, чтобы она выглядела так, поэтому у меня не было выбора. Я беру это из вашего комментария, что это невозможно. Спасибо за ввод. – Brendan
нет проблемo. да, я думаю, что они предназначены для разных целей. Сорт Forms обычно является модальным, поэтому, если вы не используете элемент управления refedit, вы даже не сможете выбрать Range во время выполнения (при условии, что вы хотите его изменить). –