VBA Modülünü Kopyala - Excel İpuçları

İçindekiler

Michelle şöyle yazıyor:

54 aracının her birine dağıtım için benzersiz bir Excel çalışma kitabı oluşturan bir Excel uygulaması geliştirdik. Aracılara dağıtılan 54 Excel çalışma kitabının her birine birkaç VBA makrosu eklemem gerekiyor. Bir VBA modülünü orijinal Excel çalışma kitabından her yeni Excel çalışma kitabına nasıl kopyalayabilirim?

Bu harika bir soru, Michelle. Çalışma sayfasını yeni bir çalışma kitabına kopyalamak için E-Tablolar () Kopyala komutunu kullanmak kolaydır, ancak bir modülü yeni çalışma kitabına kopyalamak kadar kolay değildir. Çözüm, modülü bir kez dışa aktarmayı ve ardından tamamlandıkça 54 aracı çalışma kitabınızın her birine içe aktarmayı içerir. İşte çözümle birlikte kodunuzun bir kısmı.

' Delete any old stray copies of the module1 On Error Resume Next Kill ("C:MrXL1.bas") On Error GoTo 0 ' Export Module 1 ActiveWorkbook.VBProject.VBComponents("module1").Export ("c:MrXL1.bas") For x = 1 to 54 ThisBroker = Sheets("BrokerList").range("A" & x).value '… customization of plan omited for brevity Sheets(Array("Menu", "Plan")).Copy NBName = ActiveWorkbook.Name ' new book name ' Import Module 1 to this new book Application.VBE.ActiveVBProject.VBComponents.Import ("c:MrXL1.bas") ActiveWorkbook.SaveAs Filename:=ThisBroker ActiveWorkbook.Close Next x Kill ("C:MrXl1.bas")

VBE.ActiveProject.VBComponents.Export ve VBE.ActiveProject.VBComponents… Import komutları, makroların yeni kitaplara kopyalanmasını sağlar.

Excel 2002 ve daha yeni sürümlerde, bir makronun çalışma kitabına kod eklemesine açıkça izin vermeniz gerekir. Araçlar, Makro, Güvenlik'e gidin. 2. sekmeye tıklayın: Güvenilir Yayıncılar. Sol altta, Visual Basic Project'e Güven Erişimi'ni seçin. Excel 2007'de, Office Simgesi, Excel Seçenekleri, Güven Merkezi, Güven Merkezi Ayarları, Makro Ayarları'na gidin ve VBA proje nesne modeline güven erişimini seçin.

Dikkat

Modülleri dışa ve içe aktarmaya yönelik komutların yanı sıra var olan bir çalışma kitabına yeni makrolar yazma komutları toplu olarak Visual Basic Extensibility veya VBE olarak bilinir. Çalışma kitabınız herhangi bir VBE komutu kullanıyorsa, çalışma kitabının virüs tarayıcıları tarafından işaretlenme olasılığı yüksektir. Bu yanlış bir pozitiftir. İddia edilen virüsün adında neredeyse her zaman "sezgisel" vardır. Bu, tarayıcının şüpheli görünen ancak bilinen herhangi bir virüsle eşleşmeyen DLL çağrıları gördüğü anlamına gelir. Genellikle virüsten koruma yazılımının üreticisine yazabilir ve ne yaptığınızı ve neden yapılacak iyi bir şey olduğunu açıkladıktan sonra Excel çalışma kitabınızın beyaz listeye alınması için başvurabilirsiniz.

Ilginç makaleler...