在本文中,我们将创建一个宏以在Excel工作簿中插入一个新模块。

在运行宏之前,我们需要指定模块的类型和名称。

ArrowMain

ArrowRaw

在屏幕截图中可以看到,工作簿中只有一个模块。在此示例中,我们将类模块添加到工作簿中。

ArrowOutput

逻辑解释

在本文中,我们创建了两个宏,“ CreateNewModule”和“ CallingProcedure”。

根据提供的输入,“ CreateNewModule”宏用于添加新模块。

“ CallingProcedure”宏用于提供输入并调用主模块。

代码说明

设置ModuleComponent = Wbook.VBProject.VBComponents.Add(ModuleTypeIndex)

上面的代码用于在VBA项目中添加新模块。

ModuleComponent.Name = NewModuleName上面的代码用于重命名插入的组件。

ModuleTypeConst = Cint(Range(“ D12”)。Value)

上面的代码用于从单元格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]