Microsoft Excel'de VBA kullanarak yeni bir modül oluşturun

Anonim

Bu yazımızda, bir Excel çalışma kitabına yeni bir modül eklemek için bir makro oluşturacağız.

Makroyu çalıştırmadan önce modülün tipini ve adını belirtmemiz gerekiyor.

Ekran görüntüsünde de görebileceğiniz gibi, çalışma kitabında sadece bir modülümüz var. Bu örnekte, çalışma kitabına sınıf modülü ekleyeceğiz.

Mantıksal açıklama

Bu yazımızda “CreateNewModule” ve “CallingProcedure” olmak üzere iki makro oluşturduk.

“CreateNewModule” makrosu, sağlanan girişe bağlı olarak yeni bir modül eklemek için kullanılır.

Girişi sağlamak ve ana modülü çağırmak için “CallingProcedure” makrosu kullanılır.

Kod açıklaması

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

Yukarıdaki kod, VBA projesine yeni bir modül eklemek için kullanılır.

ModuleComponent.Name = NewModuleName

Yukarıdaki kod, eklenen bileşeni yeniden adlandırmak için kullanılır.

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

Yukarıdaki kod, D12 hücresinden tamsayı değeri almak için kullanılır.

ModuleName = Sheet1.TextBox2.Value

Yukarıdaki kod, metin kutusundan değer almak için kullanılır.

Lütfen kod için aşağıdan takip edin

 Seçenek Explicit Sub CreateNewModule(ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) 'Değişkenler bildiriliyor Dim ModuleComponent As VBComponent Dim WBook As Workbook 'Etkin çalışma kitabının nesnesi oluşturuluyor Set WBook = ActiveWorkbook Set ModuleComponent = Hata Ayarında Hiçbir Şey Devam Ediyor Sonraki modül ' ModuleComponent = WBook.VBProject.VBComponents.Add(ModuleTypeIndex) Değilse ModuleComponent Hiçbir Şey Değilse 'Yeni modülü yeniden adlandırma ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure() 'Değişkenleri Dim ModuleTypeConst As Integer Dim ModuleName As String 'Modül adı ve modül tipinin değeri alınıyor ModuleTypeConst = CInt(Range("D12").Value) ModuleName = Sheet1.TextBox2.Value 'CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub çağırılıyor 

Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.

Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın