Trong bài viết này, Thanh sẽ chia sẻ với các bạn cách tạo ra và sử dụng Personal Macro Workbook trong Excel, cách để bạn có thể lưu trữ tập trung và sử dụng nhiều đoạn code VBA trong bất cứ workbook Excel nào.
Bình thường, khi viết một Macro, hay code VBA, thì bạn chỉ có thể sử dụng Macro hay đoạn code VBA này trong File Excel bạn đang sử dụng. Nếu bạn cũng muốn sử dụng trong những Files khác thì sao? Copy một đoạn code qua lại không phải là cách hay, bởi vì khi bạn nâng cấp hoặc thay đổi đoạn code, thì sự thay đổi này sẽ không được phản ánh lại trong các file khác. Cách giải quyết cho vấn đề này là sử dụng Personal Macro Workbook, lưu tất cả những đoạn code VBA hay dùng vào một file tên là Personal.xlsb. Điều này sẽ giúp bạn có thể sử dụng lại tất cả code VBA đã lưu khi mở bất cứ file Excel nào.
Xem nhanh
Personal Macro Workbook là một file Excel đặc biệt, được đặt tên là Personal.xlsb trong các phiên bản Excel 2007 – 2019 hoặc Personal.xls trong các phiên bản trước. Bất cứ Macro nào lưu trong file này, bạn đều có thể sử dụng khi bạn bật Excel lên. Mặc định thì file này ẩn, nên bạn sẽ không nhìn thấy khi bật Excel. Bạn cũng không cần làm gì để kích hoạt tính năng này bởi vì Excel biết nơi file này được lưu và sẽ tự động tìm file này mỗi khi khởi động.
Ngoài việc lưu trữ được Macros, Personal Macro Workbook còn có thể lưu trữ được Sub, Functions, bao gồm cả những User Defined Functions (UDF) mà bạn viết ra để phục vụ công việc của mình.
Mặc định thì file Personal.xlsb không tồn tại, bạn cần làm một thao tác duy nhất là tạo ra file này, và lưu vào đó ít nhất một đoạn Macro.
Trên một bản cài đặt tiêu chuẩn của Excel, thì file Personal.xlsb được lưu trong thư mục XLSTART ở trong những đường dẫn sau đây.
Trên Windows 10, Windows 6, và Windows Vista:
C:\Users\User Name\AppData\Roaming\Microsoft\Excel\XLSTART
Trên Windows XP:
C:\Documents and Settings\User Name\Application Data\Microsoft\Excel\XLSTART\
Lưu ý Bình thường thì thư mục AppData bị ẩn, để mở được thư mục này, bạn có thể viết vào trong thanh địa chỉ của Windows Explorer đường dẫn sau và nhấn nút Enter:
%AppData%
Lưu ý Nếu thư mục XLSTART không tồn tại trên máy tính của bạn, điều này có nghĩa là Personal Macro Workbook chưa được tạo ra, chúng ta sẽ cùng nhau tạo ra file này ở bước tiếp theo.
Để tạo ra một Personal Macro Workbook, bạn có thể sử dụng chức năng ghi Macro trong thẻ Developer, nếu chưa bật được thẻ này, bạn hãy theo dõi hướng dẫn ở bài viết sau đây:
Cách hiện thẻ Developer để ghi Macro và viết Code VBA trong Excel
Để tạo ra một Personal Macro Workbook, hãy theo từng bước sau đây:
Sau các bước này, thì bạn đã tạo thành công Personal Macro Workbook, file Personal.xlsb sẽ được tạo ra và tự động mở mỗi khi Excel khởi động. Giờ bạn đã có một nơi để có thể lưu trữ những đoạn code hay sử dụng một cách hiệu quả hơn. Câu hỏi đặt ra là làm thế nào bạn có thể viết code vào trong file này? Có một số cách sau đây mà bạn có thể tham khảo:
Một khi file Personal.xlsb đã được lưu trên máy của bạn, bạn có thể xem, tạo mới code VBA, sửa code VBA ở trong file này với Visual Basic Editor. Tất nhiên bạn cũng có thể copy code VBA ở đây ra các file khác của bạn.
Để cập nhật các code VBA trong file Personal.xlsb, bạn hãy theo các bước sau:
Macros và các đoạn code VBA lưu trong Macro Personal Workbook có thể sử dụng được ở bất cứ file Excel nào. Để sử dụng các Macro đã lưu, bạn hãy làm như sau:
Bạn có sưu tầm được một bộ code VBA và Macro rất hữu dụng và muốn sử dụng bộ sưu tập này trên nhiều máy khác nhau, hoặc đơn giản bạn muốn chuyển Personal Macro Workbook này đi, hãy làm theo cách sau để có thể export được Personal Macro Workbook của bạn:
Để Import một file .bas chứa code VBA, bạn sẽ cần bấm chuột phải ở thư mục Modules, sau đó chọn Import … sau đó chọn file cần import.
Có nhiều cách chúng ta có thể chia sẻ file Personal.xlsb này, hãy tìm hiểu từng cách có thể sử dụng tốt nhất trong trường hợp nào.
Có thể đây là cách dễ nhất khi bạn muốn chia sẻ một Personal Macro Workbook với một người chưa thiết lập chức năng này, hoặc bạn chuyển sang một máy tính mới và copy Personal Macro Workbook sang một máy tính mới. Tuy nhiên khi chúng ta chia sẻ file Personal Macro Workbook với một máy đã tồn tài code Personal Macro Workbook rồi, thì chúng ta cần cẩn thận nếu không, bạn sẽ ghi đè nội dung đã có ở trong thư mục XLSTART. Hãy chắc chắn về việc bạn muốn làm trong trường hợp này.
Nếu bạn chỉ cần một số Sub hay functions cụ thể, bạn có thể copy những Sub hay function này ra những Workbook hay file khác, hoặc thậm chí email đoạn code cho người khác. Tuy nhiên khi bạn copy code đi nơi khác, hãy chú ý tên của các Macro và Functions này không bị trùng lặp với các Macros có sẵn ở các file Excel khác.
Có lẽ đây là một cách tốt trong trường hợp này, chúng ta không cần quá nhiều thao tác bằng tay và không phải suy nghĩ nhiều, chỉ việc export rồi import các file .bas từ Workbook này qua Workbook khác. Trong trường hợp này, chúng ta cần xem xét cho trường hợp có thể một số macro sẽ không hoạt động trên các máy khác bởi vì bạn viết code VBA tham chiếu tới một đường dẫn hay một Sheet cụ thể trên hệ thống của bạn.
Có thể khi phần mềm Excel của bạn nâng cấp, hay bị đóng vì một lý do nào đó, có thể những Macro trong Personal Macro Workbook sẽ không hoạt động nữa. Đây là cách bạn kích hoạt lại Personal Macro Workbook:
Mặc định thì Personal Macro Workbook sẽ không được mở ra khi bạn mở Excel. Nếu vì lý do nào đó, khi bạn mở Excel lên mà thấy file này, thì cách xử lý như sau:
Như vậy thôi là bạn có thể làm cho file Personal.xlsb không bị mở ra nữa và các macros hay code VBA vẫn có thể được sử dụng.
Ngược lại với thao tác ở đoạn trên, nếu bạn muốn file Personal.xlsb được mở, thì đây là các bước sẽ cần thực hiện:
Nếu bạn muốn xóa bỏ hoàn toàn Personal Macro Workbook trên máy của bạn, hãy xóa file Personal.xlsb trong thư mục XLSTART, hãy theo các bước sau đây để không gặp lỗi khi xóa:
Như vậy, qua bài viết này, Thanh đã hướng dẫn các bạn cách chúng ta có thể lưu lại những đoạn code hay sử dụng, những đoạn code chúng ta sưu tầm được. Nếu bạn còn chưa sưu tầm được đoạn code nào, hãy tham gia khóa học VBA của Thanh để bắt đầu nâng cao hiệu suất công việc để thành công hơn, địa chỉ đăng ký:
VBA cơ bản – Tự động hóa Excel với lập trình VBA cho người mới bắt đầu