Creare un nuovo modulo utilizzando VBA in Microsoft Excel
In questo articolo creeremo una macro per inserire un nuovo modulo in una cartella di lavoro di Excel.
Prima di eseguire la macro, dobbiamo specificare il tipo e il nome del modulo.
Come si può vedere nello screenshot, abbiamo solo un modulo nella cartella di lavoro. In questo esempio, aggiungeremo il modulo di classe alla cartella di lavoro.
Spiegazione logica
In questo articolo, abbiamo creato due macro, “CreateNewModule” e “CallingProcedure”.
La macro “CreateNewModule” viene utilizzata per aggiungere un nuovo modulo, a seconda dell’input fornito.
La macro “CallingProcedure” viene utilizzata per fornire l’input e chiamare il modulo principale.
Spiegazione del codice
Set ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)
Il codice sopra viene utilizzato per aggiungere un nuovo modulo nel progetto VBA.
ModuleComponent.Name = NewModuleName Il codice precedente viene utilizzato per rinominare il componente inserito.
ModuleTypeConst = Cint (Range (“D12”). Value)
Il codice sopra viene utilizzato per ottenere il valore intero dalla cella D12.
ModuleName = Sheet1.TextBox2.Value Il codice precedente viene utilizzato per ottenere il valore dalla casella di testo.
Segui sotto per il codice
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
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]