У меня есть три модуля (стандартный модуль, а не модуль класса) в моем проекте Excel VBA. Один из них был добавлен щелчком правой кнопки мыши по VBAProject и вставкой модуля. Два из них были добавлены путем выполнения «modules.add»; Я думаю, что модули означают листы модулей, верно? Итак, мои вопросы:
1. Что означает модуль в VBA?
2. Как узнать, какой модуль создан при добавлении листа модулей?
3. Почему, когда я добавляю рабочий лист, не появляется модуль?В чем разница между модулем и листом модуля?
ответ
A модуль - это просто место для размещения вашего кода. Вы можете просто увидеть его как лист бумаги, где вы можете что-то написать.
В Excel вы можете поместить свой код в модуль или «за» лист (что вы называете листом). Модуль всегда добавляется вручную ВАМИ. «Модульный лист» является частью листа и, таким образом, добавляется или удаляется BY EXCEL автоматически при создании или удалении листа.
Когда вы помещаете в модуль некоторый код и переменные, его мгновенно можно получить со всех листов в вашей книге, dependinv о том, как вы объявляете свои переменные, подсистемы и функции (частные/общедоступные)
Обычно, когда один код помещается за листом, это потому, что этот код предназначен только для вызова с этого конкретного рабочего листа и только для выполнения операций над ним. Я никогда personnaly не работают на уровне рабочего листа по нескольким причинам:
если вы удалите лист, вы потеряете весь код, который был позади него.
Если вы экспортируете лист, вы также экспортируете код.
Если вы дублируете лист, вы также продублируете код.
, если вы хотите запустить код позади конкретного листа из другого места, вы должны полностью квалифицировать ваши звонки и переменные, что противный решение, а также обычный скучный
Мой совет: в EXCEL, никогда не работают на уровне листа, использует модули, и если вы достигаете приличное количество кода, организовать его в логические группы с помощью нескольких модулей
RE 1: Модуль похож на одноэлементный класс, который уже был инициализирован, так сказать. Другими словами, код модуля (общедоступные свойства/переменные, общедоступные методы и т. Д.) Всегда доступен, не нужно наследовать экземпляр перед попыткой его использовать, однако все данные в свойствах/переменных модуля являются общими "приложениями -wide "
RE 2: Это« листовой модуль », а не« лист модуля ». Это означает, что только добавленный лист имеет модуль с ним, когда вы его добавляете. Нет никакой разницы между этим, или добавлением модуля к листу позже. Вы можете открыть окно редактора кода и увидеть модули, классы и т. Д., Нажав ALT + F11
RE 3: По умолчанию код VBA не добавляется ни на один новый лист из соображений безопасности. Если в книге есть макрос (код VBA), требуется дополнительное внимание, поэтому по умолчанию книга не является учебным заведением VBA (макро).
И последнее, но не менее важное: обратите внимание, что между одним модулем нет разницы. Способ создания модуля не влияет на поведение модулей, и есть только один «тип модуля» (а также один «тип модуля класса») в приложениях Office (Excel, Word и т. Д.).
«И последнее, но не менее важное: обратите внимание, что между одним модулем нет разницы». Это не совсем правда. Если вы добавите модуль с использованием устаревшего синтаксиса 'modules.add', вы получите модуль Excel 5/95, который считается частью коллекции' Sheets'. – Rory
для числа 2:
Sub moduleAdd()
Modules.Add
'Modules.Add
qq = Modules.Count
MsgBox "total added module by code = " & qq
For ii = 1 To qq
Set modu = Modules(ii)
If ii = qq Then MsgBox "Newly added module = " & modu.Name
Next
End Sub
- 1. В чем разница между require.main и модулем?
- 2. В чем разница между закрытием и модулем?
- 3. В чем разница между зависимостью приложения и зависимостью/модулем модуля?
- 4. В чем разница между модулем шаблона Ansible и модулем копирования?
- 5. В чем разница между модулем, пакетом и библиотекой в Haskell?
- 6. В чем разница между плагином elasticsearch и модулем elasticsearch?
- 7. С Zend Framework, в чем разница между модулем и пакетом
- 8. В чем разница между угловым элементом и модулем
- 9. В чем разница между угловым модулем («приложение», []) и угловым модулем («приложение»)
- 10. Разница между модулем № const_set и модулем # module_eval
- 11. В чем разница между модулем и библиотекой в Angular Js
- 12. В чем разница между модулем, плагином и компонентом в Java?
- 13. В чем разница между модулем и скриптом в Python?
- 14. В чем разница между int и модулем в Python?
- 15. В чем разница между установкой модели в приложении и модулем?
- 16. В чем разница между плагином, сервисом и модулем в C9
- 17. В чем разница между «пакетом» и «модулем» в Frege?
- 18. В чем разница между модулем urllib, urllib2 и запросов?
- 19. В чем разница между интерфейсной картой и модулем посредничества?
- 20. В чем разница между узловым модулем и обычным файлом javascript
- 21. В чем разница между модулем и распределением по CPAN?
- 22. В чем разница между модулем NodeJS http и https?
- 23. В чем разница между lib и модулем с autoconf
- 24. В чем разница между пакетом Swift и модулем?
- 25. Разница между модулем и пакетом в узле?
- 26. Разница между классом и модулем
- 27. Разница между модулем сущности и модулем расширения в vTiger
- 28. Разница между кодом запуска и модулем
- 29. В чем разница расширения и модуля в opencart?
- 30. Разница между MongoDb и модулем mongoDb
Этот вопрос лучше всего подходит для superuser.com? –
[очистите руки] (http://msdn.microsoft.com/en-us/library/ee199701.aspx) –