Trong bài viết này, chúng tôi sẽ tạo một macro để chèn một mô-đun mới vào sổ làm việc Excel.

Trước khi chạy macro, chúng ta cần xác định loại và tên của mô-đun.

ArrowMain

ArrowRaw

Như người ta có thể thấy trong ảnh chụp màn hình, chúng ta chỉ có một mô-đun trong sổ làm việc. Trong ví dụ này, chúng tôi sẽ thêm mô-đun lớp vào sổ làm việc.

ArrowOutput

Giải thích logic

Trong bài viết này, chúng tôi đã tạo hai macro, “CreateNewModule” và “CallingProcedure”.

Macro “CreateNewModule” được sử dụng để thêm mô-đun mới, tùy thuộc vào đầu vào được cung cấp.

Macro “CallProcedure” được sử dụng để cung cấp đầu vào và gọi mô-đun chính.

Giải thích mã

Đặt ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)

Đoạn mã trên được sử dụng để thêm một mô-đun mới trong dự án VBA.

ModuleComponent.Name = NewModuleName Đoạn mã trên được sử dụng để đổi tên thành phần đã chèn.

ModuleTypeConst = Cint (Phạm vi (“D12”). Giá trị)

Đoạn mã trên được sử dụng để lấy giá trị số nguyên từ ô D12.

ModuleName = Sheet1.TextBox2.Value Đoạn mã trên được sử dụng để lấy giá trị từ hộp văn bản.

Vui lòng theo dõi bên dưới để biết mã

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

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]