Créer un nouveau module en utilisant VBA dans Microsoft Excel
Dans cet article, nous allons créer une macro pour insérer un nouveau module dans un classeur Excel.
Avant d’exécuter la macro, nous devons spécifier le type et le nom du module.
Comme on peut le voir sur la capture d’écran, nous n’avons qu’un seul module dans le classeur. Dans cet exemple, nous ajouterons un module de classe au classeur.
Explication logique
Dans cet article, nous avons créé deux macros, «CreateNewModule» et «CallingProcedure».
La macro «CreateNewModule» est utilisée pour ajouter un nouveau module, en fonction de l’entrée fournie.
La macro «CallingProcedure» est utilisée pour fournir l’entrée et appeler le module principal.
Explication du code
Définir ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)
Le code ci-dessus est utilisé pour ajouter un nouveau module dans le projet VBA.
ModuleComponent.Name = NewModuleName Le code ci-dessus est utilisé pour renommer le composant inséré.
ModuleTypeConst = Cint (Range (« D12 »). Value)
Le code ci-dessus est utilisé pour obtenir la valeur entière de la cellule D12.
ModuleName = Sheet1.TextBox2.Value Le code ci-dessus est utilisé pour obtenir la valeur de la zone de texte.
Veuillez suivre ci-dessous pour le code
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
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]