Sao chép Mô-đun VBA - Mẹo Excel

Mục lục

Michelle viết:

Chúng tôi đã phát triển một ứng dụng Excel để tạo một sổ làm việc Excel duy nhất để phân phối cho từng nhà trong số 54 nhà môi giới. Tôi cần bao gồm một số macro VBA trong mỗi 54 sổ làm việc Excel được phân phối cho các nhà môi giới. Làm cách nào để sao chép mô-đun VBA từ sổ làm việc Excel gốc sang từng sổ làm việc Excel mới?

Đây là một câu hỏi tuyệt vời, Michelle. Thật dễ dàng để sử dụng lệnh Sheets (). Copy để sao chép một trang tính sang một sổ làm việc mới, nhưng không dễ dàng để sao chép một mô-đun vào sổ làm việc mới. Giải pháp liên quan đến việc xuất mô-đun một lần, sau đó nhập mô-đun đó vào từng trong số 54 sổ làm việc nhà môi giới của bạn khi chúng hoàn thành. Đây là một phần mã của bạn với giải pháp.

' 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 và VBE.ActiveProject.VBComponents… Các lệnh nhập sẽ đảm nhận việc sao chép các macro vào sách mới.

Trong Excel 2002 và mới hơn, bạn cần cho phép rõ ràng macro thêm mã vào sổ làm việc. Đi tới Công cụ, Macro, Bảo mật. Nhấp vào tab thứ 2: Nhà xuất bản đáng tin cậy. Ở phía dưới bên trái, chọn Truy cập tin cậy vào Dự án Visual Basic. Trong Excel 2007, đi tới Biểu tượng Office, Tùy chọn Excel, Trung tâm Tin cậy, Thiết đặt Trung tâm Tin cậy, Thiết đặt Macro và chọn Quyền truy cập tin cậy vào mô hình đối tượng dự án VBA.

Thận trọng

Các lệnh để xuất và nhập các mô-đun, cũng như các lệnh để nhập macro mới trong sổ làm việc hiện có được gọi chung là Visual Basic Extensibility hoặc VBE. Nếu sổ làm việc của bạn sử dụng bất kỳ lệnh VBE nào, thì khả năng cao sổ làm việc đó sẽ bị gắn cờ bởi trình quét vi-rút. Đây là một dương tính giả. Tên của virus bị cáo buộc hầu như luôn có "heuristic" trong tên. Điều này có nghĩa là máy quét đang thấy các lệnh gọi DLL có vẻ đáng ngờ, nhưng điều đó không nhất thiết phải khớp với bất kỳ loại vi rút đã biết nào. Bạn thường có thể viết thư cho nhà sản xuất phần mềm chống vi-rút và đăng ký để sổ làm việc Excel của bạn được đưa vào danh sách trắng sau khi giải thích những gì bạn đang làm và lý do tại sao việc đó là điều nên làm.

thú vị bài viết...