Crea un nuovo modulo usando VBA in Microsoft Excel

Anonim

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

Imposta ModuleComponent = Wbook.VBProject.VBComponents.Add(ModuleTypeIndex)

Il codice sopra viene utilizzato per aggiungere un nuovo modulo nel progetto VBA.

ModuleComponent.Name = NewModuleName

Il codice sopra 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.

NomeModulo = Foglio1.TextBox2.Value

Il codice sopra viene utilizzato per ottenere valore dalla casella di testo.

Si prega di seguire sotto per il codice

 Option Explicit Sub CreateNewModule(ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Dichiarazione delle variabili Dim ModuleComponent As VBComponent Dim WBook As Workbook 'Creazione oggetto della cartella di lavoro attiva Set WBook = ActiveWorkbook Set ModuleComponent = Nothing On Error Riprendi Avanti 'Aggiunta di un nuovo componente del modulo Set ModuleComponent = WBook.VBProject.VBComponents.Add(ModuleTypeIndex) If Not ModuleComponent Is Nothing Then 'Rinomina il nuovo modulo ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure() 'Dichiara variabili Dim ModuleTypeConst As Integer Dim ModuleName As String 'Ottenimento del valore del nome del modulo e del tipo di modulo ModuleTypeConst = CInt(Range("D12").Value) ModuleName = Sheet1.TextBox2.Value 'Chiamata CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub 

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica