Nội dung chính
Trong khi làm việc với bảng dữ liệu Excel, thay vì mỗi lần cần thực hiện nhiệm vụ lại phải chạy mã macro để thay đổi được áp dụng rồi mới in tài liệu ra mất nhiều thời gian. Trong phần này Gitiho sẽ hướng dẫn các bạn cách chạy mã macro tự động trước khi in trong Excel.
Dưới đây là một đoạn mã đơn giản có thể giúp bạn hoàn thành công việc này trong Excel.
Bước 1: Mở một bảng tính Excel.
Bước 2: Nhấn tổ hợp phím Alt + F11 hoặc chọn mục Visual Basic trong thẻ Developer để mở cửa sổ Microsoft Visual Basic for Applications (VBA).
Bước 3: Kích đúng vào ThisWorkbook trong ngăn VBAProject bên trái, rồi sao chép và dán mã VBA bên dưới vào modul trống ở khung bên phải.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call MyMacro
End Sub
Lưu ý: Trong đoạn mã trên, bạn có thể thay đổi tên macro theo nhu cầu của mình.
Bước 4: Lưu và đóng cửa sổ mã VBA, bây giờ sau khi bạn bấm vào nút Print để in một sheets hoặc cả file Excel, mã macro cụ thể sẽ được thực thi trước tiên, sau khi kết thúc mã, sheets hoặc nội dung của cả tệp Excel sẽ được in cùng một lúc.
Xem thêm: Hướng dẫn cách định dạng và in ấn trong Microsoft Word đơn giản nhất
Trong các hướng dẫn ở trên các mã macro sẽ được kích hoạt khi giá trị trong một ô hoặc một phạm vi ô thay đổi trong bảng tính Excel. Tuy nhiên bạn đã bao giờ thử chạy các macro chỉ bằng cách kích vào các siêu liên kết tương đối trong tệp Excel chưa? Dưới đây Gitihi sẽ hướng dẫn cách để bạn thực hiện.
Bước 1: Mở tệp Excel mà bạn muốn thực hiện.
Bước 2: Tạo các siêu liên kết mà bạn muốn sử dụng để thực thi các mã macro bằng cách. Nhập nội dung vào một ô cần tạo siêu liên kết, tiếp theo truy cập vào menu Insert, rồi bấm nút Hyperlinks trên thanh công cụ của giao diện ribbon (hoặc bấm tổ hợp phím Ctrl +K).
Bước 3: Trong hộp thoại Insert hyperlink hiển thị, chọn tùy chọn Place in This Document, tiếp theo tại khung Tyle thẻ cell reference, nhập B6 và khung Text to display nhập Run Macro1, như hình dưới đây.
Bước 4: Lặp lại bước trên để tạo các siêu liên kết khác mà bạn muốn sử dụng.
Bước 5: Sau đó kích chuột phải vào tên sheets có chứa các siêu liên kết bạn muốn sử dụng, rồi chọn View Code từ trình đơn ngữ cảnh.
Bước 6: Trong cửa sổ Microsoft Visual Basic for applications đã mở, sao chép và dán mã dưới đây vào modul trống ở bên phải.
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Range.Address = "$B$6" Then
Call Macro1
End If
If Target.Range.Address = "$B$8" Then
Call Macro2
End If
End Sub
Lưu ý: Trong đoạn mã trên, B6 và B8 là các ô chứa siêu liên kết bạn muốn sử dụng và Macro1 và Macro2 là tên mã macro. Nhưng tùy theo thực tế bạn đặt mà thay đổi cho đúng với vị trí của siêu liên kết cần thực hiện.
Bước 7: Lưu và đóng cửa sổ mã VBA, bây giờ khi bạn kích vào siêu liên kết, mã macro cụ thể sẽ được thực thi cùng một lúc.
Xem thêm: Hướng dẫn cách tùy biến comment trong Excel bằng VBA (Phần 2)
Để chạy macro bằng cách bấm vào nút lệnh là một nhiệm vụ phổ biến trong Excel, nhưng bạn đã bao giờ thực thi các mã macro dựa trên giá trị được chọn từ danh sách thả xuống (Down List) chưa?
Xem thêm: Hướng dẫn cách tạo danh sách chọn drop-down list trong Word
Có nghĩa là khi bạn chọn một mục từ danh sách thả xuống, macro cụ thể sẽ được kích hoạt cùng một lúc. Trong phần này của bài viết, Gitiho sẽ giới thiệu một đoạn mã hữu ích cho bạn để giải quyết công việc này.
Thực tế, không có cách nào trực tiếp để hoàn thành tác vụ này, nhưng mã VBA sau có thể giúp bạn:
Bước 1: Đầu tiên, hãy tạo một danh sách thả xuống khi bạn cần.
Bước 2: Sau đó kích chuột phải vào tên sheets có chứa trình đơn thả xuống bạn muốn sử dụng rồi chọn View Code.
Bước 3: Trong cửa sổ Microsoft Visual Basic for applications đã mở, sao chép và dán mã dưới đây vào modul trống ở bên phải.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E1")) Is Nothing Then
Select Case Range("E1")
Case "Insert Blank rows": Macro1
Case "Hide All Sheets": Macro2
Case "Convert to Date": Macro3
End Select
End If
End Sub
Lưu ý: Trong đoạn mã trên, E1 là ô chứa danh sách thả xuống, hãy thay đổi tên macro và giá trị danh sách thả xuống theo file thực tế của bạn.
Bước 4: Lưu và đóng cửa sổ mã VBA, bây giờ khi bạn chọn Insert Blank rows từ danh sách thả xuống, Macro1 sẽ được kích hoạt, tương tự như vậy nếu bạn có nhiều mã macro được đặt tên tương ứng với nhiều tùy chọn trong danh sách thả xuống.
Xem thêm: Hướng dẫn cách viết các toán tử so sánh trong VBA
Thời đại công nghệ 4.0 đang dần đi vào cuộc sống đòi hỏi mọi người phải tự trang bị kiến thức tin học cho phù hợp để có thể bắt kịp nhưng thay đổi nhanh chóng này. Chẳng ai khác ngoài bạn hiểu mình cần trang bị thêm kiến thức gì. Hãy tìm hiểu ngay TẠI ĐÂY những khóa học hấp dẫn, có tính thực tế cao của Gitiho và đăng ký nhận tư vấn ngay hôm nay.
Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!