Создайте новый модуль с помощью VBA в Microsoft Excel
В этой статье мы создадим макрос для вставки нового модуля в книгу Excel.
Перед запуском макроса нам нужно указать тип и имя модуля.
Как видно на скриншоте, у нас в книге только один модуль. В этом примере мы добавим модуль класса в книгу.
Логическое объяснение
В этой статье мы создали два макроса: CreateNewModule и CallingProcedure.
Макрос CreateNewModule используется для добавления нового модуля в зависимости от предоставленных входных данных.
Макрос CallingProcedure используется для ввода и вызова основного модуля.
Объяснение кода
Установите ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)
Приведенный выше код используется для добавления нового модуля в проект VBA.
ModuleComponent.Name = NewModuleName Приведенный выше код используется для переименования вставленного компонента.
ModuleTypeConst = Cint (Диапазон («D12»). Значение)
Приведенный выше код используется для получения целочисленного значения из ячейки D12.
ModuleName = Sheet1.TextBox2.Value Приведенный выше код используется для получения значения из текстового поля.
Пожалуйста, введите код ниже
Option Explicit Sub CreateNewModule(ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Declaring variables Dim ModuleComponent As VBComponent Dim WBook As Workbook 'Creating object of active workbook Set WBook = ActiveWorkbook Set ModuleComponent = Nothing On Error Resume Next 'Adding new module component Set ModuleComponent = WBook.VBProject.VBComponents.Add(ModuleTypeIndex) If Not ModuleComponent Is Nothing Then 'Renaming the new module ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure() 'Declare variables Dim ModuleTypeConst As Integer Dim ModuleName As String 'Getting value of module name and type of module ModuleTypeConst = CInt(Range("D12").Value) ModuleName = Sheet1.TextBox2.Value 'Calling CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]