Δημιουργήστε μια νέα ενότητα χρησιμοποιώντας το VBA στο Microsoft Excel

Anonim

Σε αυτό το άρθρο, θα δημιουργήσουμε μια μακροεντολή για την εισαγωγή μιας νέας μονάδας σε ένα βιβλίο εργασίας του Excel.

Πριν από την εκτέλεση της μακροεντολής, πρέπει να καθορίσουμε τον τύπο και το όνομα της μονάδας.

Όπως μπορεί κανείς να δει στο στιγμιότυπο οθόνης, έχουμε μόνο μία ενότητα στο βιβλίο εργασίας. Σε αυτό το παράδειγμα, θα προσθέσουμε ενότητα κλάσης στο βιβλίο εργασίας.

Λογική εξήγηση

Σε αυτό το άρθρο, έχουμε δημιουργήσει δύο μακροεντολές, "CreateNewModule" και "CallingProcedure".

Η μακροεντολή "CreateNewModule" χρησιμοποιείται για την προσθήκη νέας μονάδας, ανάλογα με την παρεχόμενη είσοδο.

Η μακροεντολή "CallingProcedure" χρησιμοποιείται για την παροχή της εισόδου και την κλήση της κύριας μονάδας.

Επεξήγηση κώδικα

Ορισμός ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)

Ο παραπάνω κώδικας χρησιμοποιείται για την προσθήκη νέας μονάδας στο έργο VBA.

ModuleComponent.Name = NewModuleName

Ο παραπάνω κώδικας χρησιμοποιείται για να μετονομάσει το παρεχόμενο στοιχείο.

ModuleTypeConst = Cint (Εύρος ("D12"). Τιμή)

Ο παραπάνω κώδικας χρησιμοποιείται για να λάβει ακέραιη τιμή από το κελί D12.

ModuleName = Sheet1.TextBox2.Value

Ο παραπάνω κώδικας χρησιμοποιείται για να λάβει αξία από το πλαίσιο κειμένου.

Ακολουθήστε παρακάτω για τον κωδικό

 Επιλογή Explicit Sub CreateNewModule (ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Δήλωση μεταβλητών Dim ModuleComponent As VBComponent Dim WBook As Workbook' Δημιουργία αντικειμένου ενεργού βιβλίου εργασίας Σετ WBook = ActiveWorkbook Set Module Επόμενο στοιχείο ModuleComponent = WBook.VBProject.VBComponents.Add (ModuleTypeIndex) Εάν δεν είναι το ModuleComponent δεν είναι τίποτα, τότε «Μετονομάστε τη νέα μονάδα ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Τίποτα Τέλος Sub μεταβλητή ως CallingProcedure (ModuleProcedure) Integer Dim ModuleName As String 'Λήψη τιμής ονόματος και τύπου μονάδας ModuleTypeConst = CInt (Εύρος ("D12"). Αξία) ModuleName = Sheet1.TextBox2.Value' Calling CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email