Đối với nhiều người trong chúng ta, VBA là một kiến thức khá mới. VBA là Visual Basic Application – ngôn ngữ lập trình đi kèm với các phần mềm của Microsoft. VBA có tính ứng dụng rất cao, giúp tự động hóa, giảm các thao tác tay, tăng hiệu quả hoạt động của các phần mềm như Excel, Word, PowerPoint… Nhưng việc tiếp cận VBA với nhiều bạn gặp khó, bởi chúng ta phải tìm hiểu một ngôn ngữ mới, học một tư duy mới là tư duy lập trình.
Trong bài viết này, Học Excel Online sẽ giới thiệu với các bạn một cách rất hiệu quả để có thể tự học VBA, đó là sử dụng chức năng Record Macro trong Excel.
Xem nhanh
Macros – hay nói cụ thể hơn là Excel Macros (trong phạm vi bài viết tìm hiểu về VBA trong Excel) 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.
Macros có thể bao gồm 1 hoặc nhiều câu lệnh nằm trong 1 thủ tục gọi là Sub.
Mỗi 1 Sub sẽ được bắt đầu với từ khóa Sub và kết thúc với từ khóa End Sub
Chúng ta có thể tạo ra 1 macro với cách rất đơn giản là thực hiện việc Record Macro.
Record Macro có nghĩa là ghi lại thao tác của người dùng, chuyển hóa thao tác đó thành 1 thủ tục (sub) để biến nó thành 1 Macro.
Các bước để thực hiện Record Macro như sau:
Thẻ Developer là một thẻ đặc biệt trong Excel mà phục vụ cho những nhà phát triển, những người muốn áp dụng VBA vào Excel để khiến Excel làm việc hiệu quả hơn. Bản thân thẻ này đã có trong thanh công cụ của Excel, tuy nhiên ở chế độ mặc định thì nó không được hiển thị lên. Do đó muốn sử dụng thẻ này, chúng ta phải mở nó ra.
Cách thực hiện: Mời các bạn đọc ở bài viết:
Cách hiện thẻ Developer để ghi Macro hoặc viết code VBA trong Excel
Tại thẻ Developer, chúng ta chọn tới nút Record Macro như hình sau:
Hình 1: vị trí nút Record Macro trong thẻ Developer
Khi bấm nút Record Macro, sẽ xuất hiện một cửa sổ thông tin về Macro được tạo, bao gồm:
Hình 2: vị trí đặt phím tắt cho Macro trong Record Macro
Tiếp theo chúng ta bấm vào nút OK trong cửa sổ Record Macro để bắt đầu tiến trình ghi Macro.
Khi đã bước vào tiến trình ghi Macro, chúng ta cần hết sức chú ý:
Hình 3: Vị trí nút Stop Recording
Macro vừa ghi được sẽ nằm trong môi trường VBA. Do đó chúng ta cần mở môi trường này ra thì mới có thể xem được nội dung của Macro.
Trong thẻ Developer, các bạn bấm vào mục Visual Basic (hay phím tắt là Alt + F11)
Hình 4: Vị trí Visual Basic
Trong giao diện làm việc của VBA chúng ta chú ý vào cửa sổ Project: Tại đây xuất hiên mục Modules, trong đó bao gồm Module1.
Khi bấm vào Module1 thì thấy Sub Macro1. Đây chính là tên của Macro vừa ghi lại bởi Record Macro.
Hình 5: Giao diện làm việc của VBA – Project
Với người mới học ngôn ngữ lập trình VBA, việc nhớ cách viết các câu lệnh khá là khó. Điều chúng ta băn khoăn nhất chính là không hiểu được cách viết 1 câu lệnh thế nào cho đúng, tiếp đó là cách diễn tả 1 mong muốn thành câu lệnh trong macro.
Cả 2 thắc mắc này đều có thể giải quyết thông qua việc sử dụng Record Macro. Chúng ta chưa cần phải biết viết code hay tự viết, bởi Excel sẽ làm điều đó giúp chúng ta. Chúng ta chỉ cần biết cách điều khiển Excel làm việc đó, và biết sử dụng kết quả thu được.
Những nguyên tắc khi tự học VBA thông qua Record Macro (không phải bắt buộc, nhưng nên tuân thủ)
Nguyên tắc 1: Biết rõ mục đích, thao tác cần thực hiện.
Việc này giúp hạn chế thao tác thừa, đồng thời giúp việc đọc hiểu code thông qua các thao tác vừa thực hiện được tốt hơn.
Nguyên tắc 2: Ghi lại các thao tác bằng tiếng việt trước cho từng đoạn lệnh.
Việc này giúp quá trình đọc, biên dịch lại các code được dễ dàng, dễ hiểu hơn khi đối chiếu tiếng việt với code
Nguyên tắc 3: Xóa bỏ những đoạn code thừa, không cần thiết
Trong quá trình record macro không thể tránh khỏi việc có những thao tác thừa. Do đó khi áp dụng nguyên tắc 1 và nguyên tắc 2, chúng ta có thể lọc ra được những đoạn code nào là thừa, không cần thiết. Khi đã lọc được rồi chúng ta nên xóa bỏ những đoạn code thừa, tránh gây nhầm lẫn trong quá trình chạy, xử lý code sau này.
Nguyên tắc 4: Lưu lại macro đã học được
Sau mỗi lần học VBA thông qua record macro, chúng ta lại thu được 1 macro làm một nhiệm vụ cụ thể. Những việc này có thể lặp đi lặp lại rất nhiều lần trong quá trình chúng ta học VBA, áp dụng VBA vào excel. Do đó cần lưu lại các macro đã học để có thể sử dụng lại bất cứ khi nào, tránh mất thời gian thực hiện lại. Việc này sẽ giúp chúng ta tăng tốc độ học, biết được những đoạn code nào là mới, code nào đã biết… để bổ sung thêm vào danh sách macro ngày một nhiều hơn.
Việc lập trình bao gồm 2 mảng chính:
Như vậy khi chúng ta biết cách sử dụng record macro và học VBA thông qua thao tác này, tức là chúng ta đã biết được gần 1 nửa những gì cần phải học, phải làm. Do đó với những ai đang có định hướng tìm hiểu VBA từ con số 0, chúng ta nên bắt đầu với việc học cách sử dụng record macro trong Excel luôn và ngay. Bạn sẽ thấy học VBA không khó như bạn vẫn nghĩ.
Xem thêm một vài ứng dụng của việc record macro trong tự động hóa Excel, lập báo cáo tự động:
Tự động lọc danh sách không trùng với Advanced Filter VBA cực kỳ đơn giản
Hướng dẫn cách lọc dữ liệu vào Báo cáo chi tiết trong Excel bằng VBA
Tự động tô màu dòng của ô được chọn trong bảng bằng VBA
Cách sử dụng vba trong excel đơn giản, áp dụng nhiều trong công việc