В тази статия ще създадем макрос за вмъкване на нов модул в работна книга на Excel.
Преди да стартираме макроса, трябва да посочим типа и името на модула.
Както може да се види на екранната снимка, имаме само един модул в работната книга. В този пример ще добавим модул клас към работната книга.
Логично обяснение
В тази статия ние създадохме два макроса, „CreateNewModule“ и „CallingProcedure“.
Макросът „CreateNewModule“ се използва за добавяне на нов модул, в зависимост от предоставения вход.
Макросът „CallingProcedure“ се използва за предоставяне на въвеждане и извикване на основния модул.
Обяснение на кода
Задайте ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)
Горният код се използва за добавяне на нов модул във VBA проекта.
ModuleComponent.Name = NewModuleName
Горният код се използва за преименуване на вмъкнатия компонент.
ModuleTypeConst = Cint (Диапазон ("D12"). Стойност)
Горният код се използва за получаване на цяло число от клетка D12.
ModuleName = Sheet1.TextBox2.Value
Горният код се използва за получаване на стойност от текстовото поле.
Моля, следвайте кода по -долу
Опция Изрично Sub CreateNewModule (ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) „Деклариране на променливи Dim ModuleComponent Като VBComponent Dim WBook като работна книга“ Създаване на обект на активна работна книга Set WBook = ActiveWorkbook Set ModuleComponent = Нищо на грешка Следваща опция ModuleComponent = WBook.VBProject.VBComponents.Add (ModuleTypeIndex) Ако не ModuleComponent е нищо, тогава „Преименуване на новия модул ModuleComponent.Name = NewModuleName Край, ако е включен Грешка GoTo 0 Задаване на ModuleComponent = Нищо Подменна Sub CallingPrecedura Integer Dim ModuleName As String 'Получаване на стойност на името на модула и типа на модула ModuleTypeConst = CInt (Range ("D12"). Value) ModuleName = Sheet1.TextBox2.Value' Извикване CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub
Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта