Hướng dẫn tự học VBA cho người mới bắt đầu từ A - Z

Nội dung được viết bởi Kim Thu

Sử dụng Excel trong công việc là điều cơ bản mà hầu hết các nhân viên văn phòng cần thành thạo. Tuy nhiên, không phải ai cũng biết cách dùng ngôn ngữ lập trình VBA để tùy biến và điều khiển các chức năng của Excel.

Nhờ VBA, bạn có thể thực hiện các công việc xử lý và phân tích dữ liệu phức tạp tự động để tiết kiệm thời gian và công sức khi làm việc với Excel. Chính vì vậy, hôm nay Gitiho sẽ hướng dẫn cách học VBA cho người mới bắt đầu. Cùng xem nhé!

Giới thiệu về VBA cơ bản cho người mới bắt đầu

VBA là gì?

VBA (viết tắt của "Visual Basic for Applications") là một ngôn ngữ lập trình được sử dụng để tự động hóa các tác vụ trong các ứng dụng của Microsoft, như Excel, Word, Access,.... Tuy nhiên VBA trong Excel được sử dụng phổ biến hơn cả do khả năng thực hiện các công việc phức tạp tự động một cách ưu việt.

Lập trình VBA sẽ giúp bạn làm những việc mà ứng dụng có có sẵn tính năng đó. Ví dụ bạn có thể lập công thức tính thuế hay giải một bài toán phức tạp mà các công thức trong Excel không làm được.

Macros trong Excel là gì?

Macros là một loạt các hành động hoặc lệnh được ghi lại thành các chương trình nhỏ để tự động hóa các tác vụ trong bảng tính. Nhờ đó, bạn có thể thực hiện các tác vụ phức tạp hoặc lặp đi lặp lại một cách nhanh chóng và dễ dàng.

Hướng dẫn tự học VBA cho người mới bắt đầu từ A - Z

Người dùng có thể ghi lại các bước thực hiện trong Excel như thực hiện các phép tính, sau đó gọi lại chúng bằng cách sử dụng macro. Các macros được lưu trữ trong một module VBA và có thể được chạy bất kỳ lúc nào.

Tại sao bạn nên học lập trình VBA?

Ngày nay, có khoảng 80% doanh nghiệp phải dùng Excel để xử lý dữ liệu và quản lý công việc. Trong đó, có nhiều công đoạn phải lặp đi lặp lại những bước giống nhau. Nếu chúng ta thực hiện thủ công sẽ tốn rất nhiều thời gian. Bên cạnh đó còn có những đầu việc rất phức tạp mà Excel không xử lý được.

Do đó học lập trình VBA trong Excel là một giải pháp hữu hiệu cho vấn đề này. Đây là công cụ hữu ích mà bạn nên học nếu làm việc với Microsoft Office, dù bạn là người mới bắt đầu hay có kinh nghiệm dày dặn.

Ai có thể học VBA?

Nếu bạn chỉ sử dụng Excel cơ bản thì có lẽ không cần học VBA. Tuy nhiên, bạn đang làm các công việc về phân tích dữ liệu hay tính toán như tài chính, kế toán, quản lý, thống kê,... và cần sử dụng Excel để xử lý các tác vụ phức tạp thì nên xem xét học VBA. 

Tự học VBA cho người mới bắt đầu có được không?

Bạn có thể tự học VBA Excel thông qua video hướng dẫn và tài liệu miễn phí trên internet. Tuy nhiên, VBA là một ngôn ngữ lập trình dùng cho các ứng dụng của Microsoft nên nó cũng khá khó học. 

Nếu bạn là một lập trình viên có nền tảng về code thì sẽ không ngán bộ môn này. Tuy nhiên, tự học VBA sẽ khá khó cho những bạn Non - IT và không có kiến thức cơ bản về lập trình, cũng không có kế hoạch và lộ trình học VBA cụ thể.

Chính vì thế, đăng ký một lớp học hay khóa học trực tuyến về VBA là giải pháp tối ưu. Tại Gitiho, chúng tôi cung cấp nhiều khóa học về VBA, đặc biệt là ứng dụng VBA trong Excel. Trong đó, khóa học được nhiều người mới đăng ký và yêu thích nhất là Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA.

Khoá học Tuyệt đỉnh VBA của Gitiho
Khoá học Tuyệt đỉnh VBA của Gitiho

Sau khi hoàn thành khóa học này, bạn có thể tự động hóa các tác vụ lặp đi lặp lại, phát triển đoạn VBA đáp ứng yêu cầu đặc thù của công việc, giảm thời gian làm việc và tăng hiệu quả sử dụng Excel thông qua tùy chỉnh giao diện.

Hiện tại khóa học đang giảm giá 37%, nhanh tay đăng ký để học trọn đời nhé!

Những kiến thức cơ bản về VBA trong Excel

Để tùy chỉnh và tự động hóa các tác vụ trong Excel, bạn cần nắm vững những kiến thức cơ bản về VBA như sau:

Cách mở trình soạn thảo VBA trong Excel

Trong Excel, bạn có thể dễ dàng mở tab Developer để truy cập và sử dụng VBA Excel với các bước sau:

Bước 1: Vào tab File > Chọn Options và chọn Customize the Ribbons

Bước 2: Trong cửa sổ Excel Options, chọn Developer ở nhóm Main Tabs và sau đó nhấn OK.

Mở tab Developer trên Excel
Mở tab Developer trên Excel

Để bắt đầu viết chương trình VBA, bạn cần lưu ý một số nguyên tắc sau:

Sử dụng "Sub" để bắt đầu và "End Sub" để kết thúc một chương trình. Trong đó "Sub" là viết tắt của chương trình con sẽ được giải thích chi tiết ở phần sau.

Sub name ()

End Sub

Ví dụ: Xây dựng một chương trình VBA cơ bản để tạo hộp hiển thị (có chức năng nhập liệu) hỏi tên người dùng, sau đó đưa ra lời chào.

Cách thực hiện yêu cầu này như sau:

Mở Excel và nhấp vào tab Developer > nhấp vào hộp Insert.

Trong hộp thả xuống của Insert, chọn nút lệnh đầu tiên như hình dưới đây:

Tạo nút lệnh bằng tab Developer
Tạo nút lệnh bằng tab Developer

Sau đó bạn có thể click chuột trái vào bất kì vị trí nào trên bảng tính để thả nút lệnh ở đó. Và lúc này, cửa sổ Assign Macro sẽ hiện ra và bạn cần cài đặt lại như sau:

- Đổi tên Macro name thành btnHelloWorld_Click 

- Bấm vào nút New, sau đó, cửa sổ soạn thảo VBA hiện ra như hình:

Cửa sổ Assign Macro trong VBA Excel
Cửa sổ Assign Macro trong VBA Excel

Bạn nhập mã lệnh sau vào giữa Sub Name và End Sub:

    Dim name As String
    Name = InputBox ("Enter your name")
    MsgBox "Hello" + " " + Name

Trong đó: 

  • Dim name As String tạo ra một biến gọi là name (tên) được định nghĩa là một chuỗi (nên có thể nhập văn bản, số và các ký tự khác)
  • Name = InputBox ("Enter your name"): gọi hàm được tích hợp với nút (InputBox) để hiển thị một cửa sổ “Enter your name” ( Nhập tên của bạn)
  • MsgBox "Hello" + " " + Name: là lệnh gọi hàm MsgBox tích hợp hiển thị Hello và tên đã nhập.

Đóng cửa sổ soạn thảo VBA. 

Nhấp chuột phải vào nút ban nãy bạn tạo, chọn chỉnh sửa văn bản thành “Say Hello”

Chỉnh sửa đoạn text cho nút

Lúc này chúng ta đã hoàn tất quá trình tạo hộp hiển thị nhập tên và có chức năng xin chào. Chúng ta cùng thử click vào nút và xem thành quả dưới đây: 

Kết quả khi thực hiện chương trình VBA
Kết quả khi thực hiện chương trình VBA

Công cụ viết code VBA Excel

Một số công cụ hỗ trợ bạn viết code VBA trong Excel như IntelliSense, Editor, Run và Debug. Cụ thể như sau:

IntelliSense: Đây là tính năng tự động đọc ý nghĩa và giải thích khi người dùng nhập từ khóa hay biến bất kỳ vào khung soạn thảo.

Công cụ viết code VBA Excel
Công cụ viết code VBA Excel

Editor: là nơi cho phép chỉnh sửa, thêm mới, xóa bỏ hoặc sắp xếp mã VBA.

Run Tool: là công cụ chạy, tạm dừng, tiến tới và lùi lại các macro trong Excel.

Debug Tool: công cụ này giúp bạn kiểm tra và khắc phục lỗi trong mã VBA của mình.

Công cụ viết code VBA Excel

Một số cấu trúc thường gặp khi học VBA cho người mới bắt đầu:

Một số cấu trúc phổ biến thường được dùng trong VBA Excel là:

Cấu trúc If...Then...Else: Dùng để thực hiện một loạt hành động khác nhau dựa trên điều kiện đúng/sai.

Cấu trúc Select Case: Cho phép bạn chọn và thực thi hành động dựa trên giá trị của một biến hoặc biểu thức.

Cấu trúc For...Next: Sử dụng để lặp qua một tập hợp các giá trị hoặc thực hiện một hành động một số lần cụ thể.

Cấu trúc Do...Loop: Cho phép bạn lặp lại một hành động một số lần hoặc cho đến khi một điều kiện cụ thể được thoả mãn.

Cấu trúc While...Wend hoặc Do While...Loop: Lặp lại một hành động cho đến khi một điều kiện không còn đúng.

Cấu trúc With...End With: Giúp viết mã ngắn gọn hơn bằng cách cho phép bạn thực hiện nhiều thao tác trên một đối tượng mà không cần phải liệt kê lại đối tượng đó nhiều lần.

Cấu trúc Exit: Cho phép bạn thoát khỏi một vòng lặp hoặc thủ tục ngay lập tức khi một điều kiện cụ thể được đáp ứng.

Cấu trúc On Error...: Được sử dụng để xử lý lỗi trong mã VBA.

Một số cấu trúc thường gặp khi học VBA
Một số cấu trúc thường gặp khi học VBA 

Cách lập trình sự kiện trong VBA

Sự kiện là những tương tác xảy ra trong Excel, từ việc nhấp chuột vào nút, nhập dữ liệu, đến việc chọn từ danh sách... Bạn cũng có thể dùng Sự kiện để kích hoạt Macros hoặc Form trong tình huống cụ thể. Cách tạo sự kiện trong VBA như sau: 

Bước 1: Vào tab Developer và chọn Visual Basic để mở trình soạn thảo VBA. Hoặc bạn có thể nhấn phím tắt Alt + F11 để thao tác nhanh

Vào tab Developer trong Excel
Vào tab Developer trong Excel

Bước 2: Chọn Insert > Module để tạo khung soạn thảo VBA mới

Tạo module mới trong VBA
Tạo module mới trong VBA

Bước 3: Gõ code VBA vào khung soạn thảo

Cách khai báo và sử dụng biến trong lập trình VBA

Biến là các giá trị được gán cho các từ khóa hoặc số nguyên để lưu trữ và quản lý thông tin liên quan đến macro hoặc form. Cách khai báo và sử dụng biến trong VBA đơn giản như sau:

Khai báo biến: Sử dụng từ khóa hoặc số nguyên để đặt tên cho biến. Tên biến phải bắt đầu bằng chữ cái và không quá 255 ký tự.

Gán giá trị ban đầu: Khi khai báo, bạn cần gán giá trị cho biến ngay trong khung soạn thảo và không thay đổi sau đó.

Sử dụng biến: Bạn có thể sử dụng từ khóa hoặc số nguyên trong khung soạn thảo để điều khiển các phần của chương trình và tương tác với dữ liệu.

Các lệnh VBA trong Excel

Trong VBA, các lệnh đóng vai trò như người hướng dẫn cho Excel để thực hiện nhiệm vụ cụ thể. Và chúng có thể được phân thành các nhóm sau:

Lệnh điều khiển chính: Gồm các câu lệnh cơ bản như If, Do, Loop, While, Select Case, For, Next, Wend,... để quyết định luồng thực thi.

Lệnh hỗ trợ: MsgBox, Cells, Range, Sheets, Workbooks,... giúp thực hiện các tác vụ hỗ trợ và tương tác với dữ liệu.

Lệnh đặt tên: Dùng để định danh cho biến, macro, form, module hoặc workbook.

Lệnh đọc và ghi: Sử dụng để nạp và trích xuất dữ liệu vào và ra khỏi ô hoặc bảng tính Excel.

Lệnh kiểm tra và sửa lỗi: Hỗ trợ trong việc kiểm tra và xử lý lỗi trong code VBA khi chạy macro hoặc form.

Các lệnh VBA trong Excel
Các lệnh VBA trong Excel

Cách học VBA Excel thông qua Record Macro

Record Macro giúp bạn tự học VBA cơ bản bằng cách ghi lại các hành động mà bạn đã thực hiện trong Excel khi chạy macro. Do đó, bạn có thể xem lại và sao chép mã VBA tương ứng để sử dụng trong code của bạn.

Cách thực hiện Record Macro

Bạn có thể làm theo các bước sau:

Bước 1: Vào menu Developer > chọn nút Record Macro

Chọn chức năng Record Macro trong Excel
Chọn chức năng Record Macro trong Excel

Bước 2: Hộp thoại Record Macro xuất hiện với các thông tin như sau:

Macro name: tên của Macro được tạo ra từ Record Macro.

Shortcut key: Gán một phím tắt để kích hoạt Macro nhanh chóng.

Store macro in: Chọn nơi lưu trữ Macro trong các Project của VBA.

Description: Cung cấp mô tả và ghi chú để dễ dàng nắm rõ chức năng của Macro.

Sau khi cài đặt các thông tin trên, nhấp vào Ok.

Hộp thoại Record Macro
Hộp thoại Record Macro

Bước 3: Lưu ý khi kết thúc bản ghi Record Macro

Trong quá trình ghi Macro, hãy nhớ rằng mọi hành động đều sẽ được ghi lại thành code trong VBA (dù có tương tác với Excel hay không). Do đó bạn hãy tránh các thao tác không cần thiết như cuộn chuột quá mức, chọn/di chuyển quá nhiều ô hay thay đổi sheet một cách thái quá,...

Đồng thời, hãy tập trung vào những thao tác cơ bản và chính xác, để tránh tạo ra code phức tạp. Ấn nút Stop Recording nằm ngay tại vị trí ban đầu của nút "Record Macro" khi bạn muốn kết thúc quá trình ghi Macro. 

Ấn nút Stop Recording để kết thúc quá trình ghi hình
Ấn nút Stop Recording để kết thúc quá trình ghi hình

Bước 4: Kiểm tra kết quả Macro vừa ghi được

Vào thẻ Developer > Chọn mục Visual Basic (phím tắt là Alt + F11)

Trên giao diện làm việc của VBA, chúng ta tập trung vào cửa sổ "Project". Tại đây, bạn sẽ thấy mục "Modules" với "Module1". Khi bạn nhấp vào "Module1", bạn sẽ thấy hiển thị "Sub Macro1", đó chính là tên của Macro vừa ghi lại bằng Record Macro.

Kiểm tra kết quả Macro vừa ghi được
Kiểm tra kết quả Macro vừa ghi được

Cách tự học VBA thông qua Record Macro

Bạn cần tuân thủ các nguyên tắc quan trọng sau nếu đang học VBA qua Record Macro:

  • Tránh quay lại quá nhiều hoặc quá ít, để tránh lỗi hoặc mất dữ liệu.
  • Tránh sao chép mã VBA từ nguồn không đáng tin cậy, để tránh lỗi hoặc mất dữ liệu.
  • Không sử dụng mã VBA của người khác mà không có sự cho phép, để tránh vi phạm quyền sở hữu hoặc gây hại không cần thiết.

Lời khuyên học VBA cho người mới bắt đầu

Học VBA cho người mới bắt đầu từ đâu?

Microsoft Excel thực sự là một công cụ mạnh để bạn phân tích và trình bày thông tin một cách hiệu quả. Trong đó, macro là một tính năng vô cùng hữu ích. Để bắt đầu viết các macro trong Excel, trước hết bạn cần nắm vững kỹ năng làm việc với Visual Basic.

Hơn nữa, lập trình Visual Basic không chỉ giới hạn trong Excel mà áp dụng cho các phần mềm khác của Microsoft. Do đó, bạn cần có kiến thức và kỹ năng vững về Excel để quá trình học VBA dễ dàng hơn.

Kinh nghiệm học VBA cho người mới bắt đầu

Học từ những thứ cơ bản, chậm mà chắc: 

Người mới nên nắm chắc những khái niệm căn bản, nền tảng, sau đó mới học nâng cao dần. Lưu ý là hãy thực hành thật nhiều, từ các bài dễ đến khó để tập trải nghiệm và xử lý các vấn đề phát sinh khi lập trình VBA nhé.

Đừng copy-paste code: 

Cũng như học lập trình viên, bạn cần tập viết code nhiều lần để nhớ cấu trúc, cú pháp nhanh chóng. Copy code sẽ nhanh đó nhưng bạn sẽ không nhớ trong đầu được lâu, cũng như khi làm thực tế có lỗi phát sinh sẽ không biết sửa như nào. Sau này gặp những yêu cầu mới lạ, bạn sẽ không có khả năng tự code được đâu.

Đừng copy-paste code VBA
Đừng copy-paste code VBA

Học lý thuyết đi đôi với thực hành: 

Khi xem xong một video hướng dẫn học VBA cho người mới bắt đầu bất kì, bạn cần bắt tay ngay vào thực hành để đảm bảo mình đã hiểu và có thể áp dụng được vào thực tế. Nó cũng giúp tăng khả năng nhớ bài của bạn hơn đấy. 

Tham khảo nguồn học và tài liệu uy tín: 

Với thời đại của công nghệ và internet, sẽ không khó để tìm thấy hàng tá các nguồn học tập và tài liệu thực hành VBA. Tuy nhiên, bạn cần biết cách chọn lọc nguồn học chất lượng, uy tín để tránh hiểu sai và làm sai.

Biết cách gỡ lỗi bằng công cụ Debug: 

Điều quan trọng sau khi viết code VBA là bạn cần biết debug để sửa lỗi và xem code của mình hoạt động ra sao. Nếu không biết debug, code của bạn có thể sai mà bạn không biết do đâu. Cho dù bạn có viết một chương trình hay đến đâu thì cũng vô nghĩa vì nó có thể không chạy được do mắc một lỗi nhỏ nào đấy.

Biết cách gỡ lỗi bằng công cụ Debug
Biết cách gỡ lỗi bằng công cụ Debug

Kết luận

Hy vọng hướng dẫn học VBA cho người mới bắt đầu của chúng tôi hôm nay sẽ giúp ích cho bạn trong quá trình trở thành chuyên gia trong lĩnh vực này. Học VBA không khó, vậy nên đừng để các con số và quy trình xử liệu phức tạp trong Excel hay bất cứ phần mềm Microsoft Office nào đánh gục bạn.

Nếu có bất kì câu hỏi nào, đừng quên ghé thăm Gitiho blog để tìm các câu giải đáp nhé. Chúc bạn thành công!

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông