Utwórz nowy moduł za pomocą VBA w Microsoft Excel

Anonim

W tym artykule utworzymy makro, aby wstawić nowy moduł do skoroszytu programu Excel.

Przed uruchomieniem makra musimy określić typ i nazwę modułu.

Jak widać na zrzucie ekranu, w skoroszycie mamy tylko jeden moduł. W tym przykładzie do skoroszytu dodamy moduł klasy.

Wyjaśnienie logiczne

W tym artykule stworzyliśmy dwa makra, „CreateNewModule” i „CallingProcedure”.

Makro „CreateNewModule” służy do dodawania nowego modułu, w zależności od wprowadzonego wejścia.

Makro „CallingProcedure” służy do wprowadzenia danych wejściowych i wywołania modułu głównego.

Wyjaśnienie kodu

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

Powyższy kod służy do dodania nowego modułu w projekcie VBA.

ModuleComponent.Name = Nowa nazwaModułu

Powyższy kod służy do zmiany nazwy wstawianego komponentu.

ModuleTypeConst = Cint(Zakres("D12").Value)

Powyższy kod służy do pobierania wartości całkowitej z komórki D12.

NazwaModułu = Arkusz1.Pole Tekstowe2.Wartość

Powyższy kod służy do pobierania wartości z pola tekstowego.

Proszę postępować zgodnie z poniższym kodem!

 Option Explicit Sub CreateNewModule(ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Deklarowanie zmiennych Dim ModuleComponent As VBComponent Dim WBook As Workbook 'Tworzenie obiektu aktywnego skoroszytu Set WBook = ActiveWorkbook Set ModuleComponent = Nic przy błędzie Wznów dalej 'Dodawanie nowego modułu zestawu ModuleComponent = WBook.VBProject.VBComponents.Add(ModuleTypeIndex) If Not ModuleComponent Is Nothing Then 'Zmienianie nazwy nowego modułu ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure() 'Zadeklaruj zmienne Dim ModuleTypeConst As Integer Dim ModuleName As String 'Pobieranie wartości nazwy i typu modułu ModuleTypeConst = CInt(Range("D12").Value) ModuleName = Sheet1.TextBox2.Value 'Wywołanie CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail