Bạn có cần chạy macro khi khởi động Excel không? Bạn có hai lựa chọn:
1. Tạo một Workbook_Open () con trong ‘ThisWorkbook’.
2. Đặt một con Auto_Open () trong bất kỳ mô-đun nào.
Workbook_Open Event
Tạo một phụ có tiêu đề ‘Workbook_Open’ trong ‘ThisWorkbook’
123 | Workbook_open ()MsgBox "Mã này chạy khi khởi động Excel!"Kết thúc Sub |
Auto_Open
Sử dụng phương pháp thứ hai: Đơn giản chỉ cần tạo một chương trình con có tên là Auto_Open và đặt mã vào đó hoặc gọi một chương trình con khác từ đó. Tự động mã của bạn chạy khi Excel khởi động.
123 | Private Sub Auto_Open ()MsgBox "Mã này chạy khi khởi động Excel!"Kết thúc Sub |
Tạo và đặt tên cho trang tính mới mỗi khi Excel mở ra
Đoạn mã sau hoạt động khi mở một sổ làm việc. Nó tự động thêm một trang tính mới và dán nhãn ngày tháng. Nó cũng kiểm tra xem trang tính chưa tồn tại - để cho phép khả năng trang tính được mở nhiều hơn một lần một ngày.
Mã này sử dụng Sự kiện Mở Sổ làm việc và phải được đặt trong mô-đun sổ làm việc trong sự kiện “Mở Sổ làm việc”. Hàm Sheet_Exist phải được đặt trong một mô-đun và điều này sẽ kiểm tra xem trang tính có tồn tại hay không:
123456789101112131415 | Private Sub Workbook_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Format (Now (), "dd-mm-yy")If Sheet_Exists (New_Sheet_Name) = False ThìVới WorkbookWorksheets.Add (). Name = New_Sheet_NameKết thúc vớiKết thúc nếuCứuKết thúc Sub |
12345678910111213 | Hàm Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet dưới dạng WorksheetSheet_Exists = SaiĐối với mỗi Work_sheet Trong ThisWorkbook.WorksheetsNếu Work_sheet.Name = WorkSheet_Name thìSheet_Exists = TrueKết thúc nếuKế tiếpChức năng kết thúc |
Để tải xuống tệp .XLSM cho hướng dẫn này, hãy nhấp vào đây
Đặt trang tính mặc định khi sổ làm việc mở ra
Bạn có muốn đảm bảo trang tính luôn hiển thị đầu tiên khi sổ làm việc mở ra không? Ví dụ: khi bạn mở một bảng tính, trang tính 3 luôn là trang tính hoạt động. Đây là cách thực hiện.
Bạn có thể tham chiếu đến một trang tính từ VBA theo tên chương trình của nó (tức là Sheet3) hoặc theo tên tab của nó (tức là JanData). Tốt nhất là sử dụng tên chương trình, vì nếu tên tab thay đổi, mã VBA của bạn tham chiếu đến tên tab sẽ không hoạt động nữa. Tuy nhiên, nếu bạn sử dụng tên chương trình, người dùng có thể thay đổi tên tab nhiều lần và macro của bạn vẫn hoạt động.
Để đảm bảo một trang tính nhất định luôn được kích hoạt khi sổ làm việc mở ra, chỉ cần đặt mã sheet.activate vào subbook_open. Đây là một ví dụ kích hoạt sheet3 bằng cách sử dụng tên chương trình mỗi khi mở sổ làm việc.
123 | Private Sub Workbook_Open ()Sheet3.ActivateKết thúc Sub |
Và điều này thực hiện nó bằng cách sử dụng tên tab:
1234 | Private Sub Workbook_Open ()Trang tính ("mytabname"). Kích hoạtKết thúc Sub |
Ghi chú bên: Bạn phải lưu và khởi động lại excel để điều này hoạt động.
Ghi chú bên lề: Điều này chỉ hoạt động nếu macro được bật.
Ghi chú bên lề: Đặt mã này trong cửa sổ mã cho đối tượng ThisWorkbook trong VBE.
Tải biểu mẫu mỗi khi sổ làm việc mở ra
Nếu bạn muốn tải một biểu mẫu hoặc chạy một số mã VBA khi bạn mở một sổ làm việc excel, hãy đặt mã của bạn trong cửa sổ mã Thisworkbook và trong phụ Workbook_Open.
Từ bảng tính của bạn:
1. Nhấn ALT và F11 để mở trình soạn thảo VB
2. Nhấp đúp vào từ ThisWorkbook để mở cửa sổ mã
3. Nhập mã sau vào cửa sổ mã ThisWorkbook
123 | Private Sub Workbook_Open ()UserForm1.ShowKết thúc Sub |
Ghi chú bên lề: Thay thế Userform1 bằng tên biểu mẫu của bạn
4. Đóng Excel và mở lại.