Salin Modul VBA - Petua Excel

Isi kandungan

Michelle menulis:

Kami telah membangunkan aplikasi Excel yang menghasilkan buku kerja Excel yang unik untuk diedarkan kepada setiap 54 broker. Saya perlu memasukkan beberapa makro VBA dalam setiap 54 buku kerja Excel yang diedarkan kepada broker. Bagaimana saya boleh menyalin modul VBA dari buku kerja Excel yang asal ke setiap buku kerja Excel yang baru?

Ini adalah soalan hebat, Michelle. Mudah menggunakan Helaian (). Perintah salin untuk menyalin lembaran kerja ke buku kerja baru, tetapi tidak semudah menyalin modul ke buku kerja baru. Penyelesaiannya melibatkan mengeksport modul sekali, dan kemudian mengimportnya ke dalam setiap 54 buku kerja broker anda setelah selesai. Berikut adalah sebahagian kod anda dengan penyelesaiannya.

' 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")

The VBE.ActiveProject.VBComponents.Export dan VBE.ActiveProject.VBComponents… Perintah import menjaga agar makro disalin ke buku baru.

Dalam Excel 2002 dan yang lebih baru, anda perlu secara eksplisit membenarkan makro untuk menambahkan kod ke buku kerja. Pergi ke Alat, Makro, Keselamatan. Klik pada tab ke-2: Penerbit Yang Dipercayai. Di kiri bawah, pilih Akses Amanah ke Projek Visual Basic. Di Excel 2007, Pergi ke Ikon Office, Pilihan Excel, Pusat Kepercayaan, Tetapan Pusat Kepercayaan, Tetapan Makro, dan pilih Akses kepercayaan ke model objek projek VBA.

Awas

Perintah untuk mengeksport dan mengimport modul, serta perintah untuk menaip makro baru dalam buku kerja yang ada secara kolektif dikenali sebagai Visual Basic Extensibility atau VBE. Sekiranya buku kerja anda menggunakan arahan VBE, ada kemungkinan besar buku kerja tersebut akan ditandai oleh pengimbas virus. Ini adalah positif palsu. Nama virus yang dikatakan hampir selalu mempunyai nama "heuristik". Ini bermaksud bahawa pengimbas melihat panggilan DLL yang kelihatan mencurigakan, tetapi tidak semestinya sesuai dengan virus yang diketahui. Anda biasanya boleh menulis kepada pengeluar perisian anti-virus dan memohon agar buku kerja Excel anda disenaraikan putih setelah menjelaskan apa yang anda lakukan dan mengapa ia adalah perkara yang baik untuk dilakukan.

Artikel menarik...