Microsoft Excel'de VBA kullanarak bir dosyadan bir modül içe aktarın

Anonim

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

İçeri aktarmak istediğimiz modül olarak Filename.bas'ı kullanacağız.

Modülü Filename.bas'tan aktif çalışma kitabına aktarmak için ekle düğmesine tıklayın.

Çalışma kitabı yalnızca bir “MainModule” modülü içerir.

Makroyu çalıştırdıktan sonra, Filename.bas'tan yeni bir modül içe aktarılacaktır.

Mantıksal açıklama

Bu yazımızda InsertVBComponent ve Calling_Procedure adında iki makro oluşturduk.

EkleVBBileşeni

Çalışma kitabı adını ve dosya adını girdi olarak alır ve modülü çalışma kitabına aktarır.

Calling_Procedure

Etkin çalışma kitabı ve girdi olarak Dosyaadı.bas ile InsertVBComponent makrosunu çağırmak için kullanılır.

Kod açıklaması

Eğer Dir(CompFileName) "" O zaman

Yukarıdaki kod, dosya adının dizinde olup olmadığını kontrol etmek için kullanılır.

wb.VBProject.VBComponents.Import CompFileName

Modülü aktif çalışma kitabına aktarmak için yukarıdaki kod kullanılır.

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

 Seçenek Explicit Sub InsertVBComponent(ByVal wb As Workbook, ByVal CompFileName As String) ' CompFileName içeriğini çalışma kitabına yeni bir bileşen olarak ekler ' CompFileName, ' import (dışa aktarılan bir VBA bileşeni) için uygun geçerli bir VBA bileşeni olmalıdır 'CompFileName dosyasının olup olmadığını kontrol etme var ise Dir(CompFileName) "" Sonra 'Hata Devam Etme Sırasındaki Hataları Yoksay Sonraki' wb.VBProject.VBComponents.Import CompFileName dosyasından bileşen ekler Hatada CompFileName GoTo 0 End If Set wb = Nothing End Sub Sub Calling_Procedure() 'InsertVBComponent prosedürünü çağırıyor InsertVBComponent ActiveWorkbook, "C:\Users\Ramandeep\Desktop\Filename.bas" End Sub 

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