Я провел последний час, читая страницы о переменной области видимости в различных вариантах excel vba, и не смог найти определенную ссылку на документацию, касающуюся моей проблемы с областью ... хотя i Я убежден, что это такая классика. Ну, вот и все.Имея общедоступную переменную, доступную в объектах userform/sheet
У меня есть книга, которая содержит только один лист и одну пользовательскую форму. У меня есть список учеников, сидящих в колонке 1 на моем листе. Я хотел бы:
- нагрузки этот список вверх в некоторой глобальной переменной коллекции с именем
students_list
(я делаю это с помощью процедуры Workbook-Open() в ThisWorkbook объект) - использовать содержимое
students_list
в инициализировать ListBox в моем UserForm - удалить элементы из
students_list
при нажатии на моей UserForm нажал на
Все, что нужно это переменная, которая видна из в моих процедурах пользовательской формы, а также изнутри объекта ThisWorkbook.
Я попытался объявить его общедоступным, глобальным, в коде листа, в пользовательской форме в этой книге, в отдельном модуле, посвященном глобальным переменным ... Я просто не могу найти правильный способ иметь students_list
переменная видимая от везде.
Что мне не хватает? Приносим извинения за этот вопрос, который должен быть таким базовым и все же бьет меня: -/
Вы можете использовать 'Range' из таблицы для хранения список и быть доступным всеми различными элементами вашего кода VBA - по существу, с любого листа и любого модуля. Если вы не хотите, чтобы эта область царапин была видимой, запустите ее в столбце BB и/или установите цвет шрифта на белый, чтобы пользователь не заметил его. – PeterT
Если вы объявили 'students_list' как' Public' в модуле, переменная ** должна ** быть доступна для всех процедур в рамках проекта. См. Http://stackoverflow.com/a/3815797/6535336.(Единственное исключение было бы, если бы вы объявили другую переменную с тем же именем в каком-то другом месте - тогда эта вторая переменная будет отнесена к сфере действия второй декларации.) – YowE3K
Нет pb с видимой областью нуля, на самом деле это как я загружаю значения в свою коллекцию 'students_list' ... но это не проблема здесь, я боюсь. – Guillaume