VBA Excel Cấp Tốc Bài 6 - Hướng Dẫn Sử Dụng Record Macro Trong Excel Từ Cơ Bản Đến Nâng Cao
Macros là một công cụ trong Excel để bạn làm quen với lập trình VBA hay nói cụ thể hơn là Excel Macros là những chương trình nhỏ giúp lặp đi lặp lại các thao tác từ đơn giản tới phức tạp trong Excel một cách tự động.
Xem bài học trước
>> VBA Excel Cấp Tốc Bài 1 - Lọc Dữ Liệu Nhiều Điều Kiện Với Advanced Filter
>> VBA Excel Cấp Tốc Bài 2 - In Bảng Cửu Chương
>> VBA Excel Cấp Tốc Bài 3 - In Ấn Nhanh Hàng Loạt
>> VBA Excel Cấp Tốc Bài 4 - Xóa Tự Động Hàng Loạt Sheets Không Active
>> VBA Excel Cấp Tốc Bài 5 - Copy File Từ Một Thư Mục Sang Thư Mục Khác
Video hướng dẫn
Giới thiệu về Record Macro.
Record Macro sẽ giúp bạn khi bạn không biết về lệnh bôi đen hay Vlookup sử dụng như thế nào thì bạn có thể dùng Record Macro để xem cách thực hiện lệnh Vlookup hay bôi đen như thế nào.
Để vừa theo giỏi vừa thực hành bạn có thể tải File thực hành tại đây.
VD: Chạy thử Lệnh bôi đen bằng Record Macro.
- Vào Developer -> Record Macro -> cửa sổ hiện ra trong mục Macro Name bạn co thể đặt tên lại -> trong Store macro in Bạn chọn This Workbook -> trong phần Description là ghi chú bạn có thể ghi chú vào đây hoặc có thể không cần -> ok.
- Để dừng ghi bạn chọn vào Developer -> Stop Recording.
- Mở cửa sổ Visual Basic lênh khi bạn thao tác trên Sheet thì Macro sẽ tự động ghi lệnh lênh cửa sổ Visual Basic.
- Bây giờ mình sẽ tạo một Button để chạy Macro: vào Developer -> Insert -> chọn hình kéo chuột tạo hình -> gán vào -> ok.
- Bây giờ bạn muốn khi tích vào ô nào và ấn vào Button vừa tạo thì ô đó chuyển thành bôi đen thì thực hiện: Mở Visual Basic lệnh có dòng lệnh Range("D8").Select bạn chỉ cần xóa dòng lệnh này đi là có thể thực hiện trên bất cứ vị trí nào của Sheet.
Tạo liên kết các dữ liệu.
Tạo hình để sử dụng Button: Insert -> trong Shapes chọn hình -> kéo chuột và đặt tên lại cho hình. Các hình tiếp theo bạn có thể copy bằng cách giữ Ctlr + giữ chuột trái kéo ra.
Giờ ta sẽ tạo một Macro mới: Developer -> Record Macro -> cửa sổ hiện ra trong mục Macro Name gõ là Năm 2018, tức là khi tích vào ô dữ liệu năm 2018 nó tự động chuyển đến Sheet năm 2018.
Giờ Record Macro bắt đầu ghi bạn chỉ cần kích qua Sheet năm 2018 rồi Stop Recording là được. Có thể mở Visual Basic lên để kiểm tra.
Kích chuột phải vào ô dữ liệu năm 2018 -> Assign Macro -> cửa sổ hiện ra kích vào năm 2018 -> ok.
Để quay lại cửa sổ Main thì ta tạo một Macro mới: vào Developer -> Record Macro -> Macro Name gõ quay lại -> ok sau đó tích vào Sheet Main -> Stop Recording
Sau đó ta tạo Button: Insert -> Shapes -> chọn hình kéo chuột và đổi tên -> chuột phải vào Button vừa tạo -> chọn Assign Macro.
Cửa sổ hiện ra nhấn vào quay_lai -> ok.
Còn lại năm 2019 và 2020 bạn cũng thực hiện tương tự như năm 2018 là được.
Nhập dữ liệu nâng cao.
Tạo cách để nhập dữ liệu tự động ta làm như sau: đầu tiên ta tạo một Button trong phần Sheet nhap vào Insert -> Shapes chọn hình kéo chuột để tạo hình đổi tên.
Ta nhập một nhân viên mới trong Sheet nhap -> Record Macro -> Đặt lại tên ở Macro Name.
Tiếp theo ta bôi đen phần dữ liệu chuẩn bị thêm vào Sheet Data -> kích vào Sheet Data -> tích vào Mã NV -> giữ Ctrl + mũi tên xuống -> tích vào Use Relative References khi tích vào thấy màu xám xám là được -> Ấn mũi tên xuống.
Kích chuột phải vào ô vừa bấm mũi tên xuống chọn Paste Special -> tích vào Transpose -> ok -> tích bỏ Use Relative References.
Quay lại Sheet nhập Ấn Delete để xóa dữ liệu -> Stop Recording -> gán Macro cho Button chuột phải vào Button -> Assign Macro -> chọn cap_nhat -> ok
Bây giờ ta chỉ cần nhập thông tên cho nhân viên ở Sheet nhap sau đó kích vào Button thì thông tin sẽ tự cập mật ở Sheet Data.
Tạo danh sách tìm Kiếm.
Tạo vùng chọn: vào Insert -> Table -> tích vào My Table Has Headers -> ok. Đặt lại tên cho Table ở góc trên bên trái.
Quay lại Sheet tìm kiếm đầu tiên bạn phải Record Macro: vào thẻ Developer chọn Record Macro đặt tên là tim_kiem -> ok.
Tích vào ô đầu tiên phía dưới STT -> Advanced -> cửa sổ hiện ra trong phần list range bạn chuyển qua Sheet Data bôi đen toàn bộ dữ liệu.
ở mục Criteria Range bôi đen thanh tìm kiếm (từ ô B2 -> ô J3) -> tích vào copy to another location -> tại ô copy to kích vào ô phía dưới nơi bạn muốn xuất hiện kết quả tìm kiếm.
Tạo Macro xóa dữ liệu cũ: Record Macro đặt tên là xoa_du_lieu -> ok.
Tại ô kết quả ta bôi đen hết các ô của STT(phím tắt Ctrl+Shift+mũi tên xuống) -> kích chuột phải chọn Delete -> Entire row. Bôi đen từ B2 đến J3 bấm Delete -> Stop Recording.
Tạo hai Button một cái tim kiếm và một cái xóa dữ liệu: vào Developer -> Insert -> chọn hình giữ chuột vẽ hình -> tích vào tim_kiem -> ok.
>> VBA Excel Cấp Tốc Bài 7 - Cách Gộp Nhiều File Excel Vào Một File Duy Nhất
CHO ĐIỂM BÀI VIẾT NÀY