VBA là gì? Giải thích đầy đủ nhất về VBA Excel (2020)

Nguồn sưu tầm: https://niithanoi.edu.vn/

Nếu bạn đã từng sử dụng Excel lâu năm, thì chắc bạn đã nghe đến VBA (Visual Basic for Applications).

Vậy, chính xác thì VBA là gì?

 

VBA là gì?

VBA là gì?

 

Hiểu đơn giản: VBA là ngôn ngữ lập trình do Microsoft tạo ra để giúp bạn ghi Macro trong Excel.
 

MACRO là một công cụ cho phép bạn tự động hóa các tác vụ và thêm chức năng vào biểu mẫu, báo cáo và điều khiển – Microsoft”


Khi bạn chạy một macro, nó mã hóa đoạn mã để ứng dụng Excel đọc và thực hiện hành động mà bạn mong muốn.

Điều này giúp bạn có thể lập trình tự động hóa trong ứng dụng Excel

Sau đây là giải thích một loạt các câu hỏi thường gặp và giải thích có thể giúp người mới cho đến chuyên gia có kinh nghiệm hiểu rõ hơn về VBA là gìVBA dùng để làm gì

 

VBA được sử dụng cho Excel là gì?


VBA được sử dụng để viết các macro, tự động hóa các tác vụ từ đơn giản và phức tạp trong Excel.

Vì người dùng Excel thường sẽ lặp đi lặp lại cùng một chuỗi các nhiệm vụ.

Đôi khi đây là các tác vụ nhỏ như sao chép dữ liệu vào các trang tính khác nhau và đôi khi các tác vụ phức tạp hơn như tải dữ liệu lên một trang web.

Với VBA, các macro có thể được lập trình để tự động hóa các tác vụ như thế này, biến một loạt các thao tác thủ công thành một nút bấm duy nhất.

Tuy nhiên, nếu khối lượng công việc của bạn lớn, phức tạp hơn, bạn muốn nhiều hơn thì hãy tiếp tục khám phá…

Làm thế nào để bắt đầu sử dụng VBA trong Excel?


Cách dễ nhất để bắt đầu với macro là ghi lại chúng bằng Trình ghi Macro (Macro Recorder) được tích hợp trong Excel.

Trình ghi macro tạo mã VBA mà bạn có thể đọc và chỉnh sửa, cũng như cung cấp cho bạn một bước đệm để tìm hiểu cách lập trình macro của riêng bạn.

Làm thế nào để truy cập vào Code VBA?

Bạn có thể truy cập vào code VBA bằng cách sử dụng trình soạn thảo VBA (VBA Editor)

VBA Editor có thể được mở bất cứ lúc nào bằng cách nhấn phím tắt ALT + F11.

Từ đây, bạn có thể truy cập code cho tất cả các sổ làm việc đang mở.

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

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

Bạn có thể bấm đúp vào bất kỳ sổ làm việc (WorkBook), trang tính (Sheet) hoặc đối tượng module nào trong cửa sổ Project để hiển thị code VBA có trong nó.

Các macro được ghi sẽ luôn xuất hiện trong các module, đó là nơi bạn thường sẽ viết các macro do bạn tự định nghĩa.

Để biết thêm thông tin về chỉnh sửa macro, hãy xem bài viết Cách chỉnh sửa VBA Macros trong Excel.

VBA có thể làm gì?

VBA có thể giúp tự động hóa mọi thứ trong Excel

Nếu có một thứ gì đó bạn có thể làm trong Excel, bạn có thể viết mã VBA để làm điều tương tự.

Nếu bạn học các lệnh (sử dụng trình ghi macro hoặc các tài nguyên khác), bạn có thể kết hợp nhiều hành động lại với nhau trong một macro duy nhất.

Hãy thử tưởng tượng mọi công tác tính lương, thưởng, phụ cấp, bảo hiểm, xuất biểu đồ báo cáo, phân tích chỉ bằng cách bấm một nút duy nhất.

Việc của bạn còn lại chỉ là nhập dữ liệu vào bảng mà thôi.

VBA có thể giúp bạn tự định nghĩa các hàm trong Excel

Bạn có thể sử dụng VBA để viết các hàm do người dùng định nghĩa để sử dụng trong các công thức bảng tính.

Ví dụ như bạn muốn:

  • Tính lương trung bình 12 tháng
  • Kết quả lấy 2 số sau dấu phẩy
  • Phân tách bằng dấu phảy ,
  • Thêm ký hiệu đ ở cuối

> Bạn hoàn toàn có thể định nghĩa 1 lệnh mới để làm 4 công việc này.

Mặc dù Excel đã đóng gói rất nhiều chức năng, sẵn có.

Nhưng nếu bạn thấy mình muốn một chức năng cụ thể hơn đối với công việc của bạn thì bạn hoàn toàn có thể làm với VBA.

VBA có thể giúp bạn hành động khác nhau dựa vào dữ liệu khác nhau

Bạn có thể sử dụng VBA để thêm logic (câu lệnh If) và vòng lặp (hành động lặp lại) vào macro của bạn.

Điều này có nghĩa là một macro của bạn có thể dựa vào dự liệu để ra quyết định là làm thế này hay làm thế kia.

Có nghĩa là bạn viết VBA để tạo ra Macro giống như một chương trình phần mềm.

VBA có thể giúp bạn tạo giao diện trực quan

VBA cho phép bạn xây dựng giao diện người dùng trực quan, giúp người dùng dễ dàng tương tác với các macro của bạn hơn.

Các giao diện này có thể là các nút bấm đơn giản trên bảng tính hoặc một form phức tạp với các bảng điều khiển phong phú như là phần mềm vậy.

Ví dụ: Phần mềm kế toán đầy đủ chức năng hoàn toàn có thể viết bằng VBA (giống như phần mềm lập trình thông thường)  

VBA có thể giúp bạn vượt qua nhiều giới hạn 

VBA có thể giúp bạn bạn khai thác hầu hết mọi tài nguyên trên máy tính cục bộ hoặc trên internet bằng cách sử dụng các thư viện DLL bên ngoài.

Bạn có thể tự động hóa Excel nhiều hơn, như:

  • Truy cập các dịch vụ web và cơ sở dữ liệu trên máy chủ
  • Phân tích tệp XML
  • Tương tác với các ứng dụng Microsoft Office khác
  • …và nhiều hơn thế nữa.

Sự khác biệt giữa Macro và VBA là gì?


VBA chỉ là ngôn ngữ để viết các Macro.

Nếu Macro là một cuốn sách, thì VBA là từ ngữ, cú pháp trong đó.

Học VBA có khó không? Ai nên học VBA?

Thông thường thì VBA có 2 cấp độ:

  • Cấp độ #1: Là khả năng ghi Macro bằng trình ghi Macro. Và vận dụng một số chức năng cơ bản
  • Cấp độ #2: Là khả năng lập trình, chỉnh sửa code bên trong VBA Editor.

Cấp độ đầu tiên hầu như ai cũng có thể tự học thông qua các video, các hướng dẫn trực tuyến.

Tuy nhiên, ở cấp độ thứ 2 sẽ khó hơn và cần nỗ lực hơn. Lúc này có thể bạn sẽ cần phải tìm một ai đó am hiểu về VBA để dạy bạn.

Nỗ lực nhiều hơn cấp độ 1 là chắc chắn, nhưng giá trị bạn đạt được chắc chắn sẽ lớn hơn nhiều lần.

Bất kỳ ai thường xuyên làm việc với Excel đều nên học sử dụng VBA để tối ưu hóa công việc của mình.

Thông thường, những hay sử dụng VBA là:

  • Nhà phân tích dữ liệu
  • Chủ doanh nghiệp
  • Quản lý
  • Kế toán
  • Nhân sự
  • Nhà khoa học
  • Và những người đã được đào tạo về lập trình VBA.

Những người sử dụng VBA thường mong muốn có thể tối ưu hóa công việc trên Excel, hiểu rõ hơn và nhanh hơn về dữ liệu để đưa ra quyết định quan trọng.

Họ có thể muốn tạo báo cáo, kết quả phân tích mang tính tương tác hơn, có giá trị hơn.

Tại sao VBA lại quan trọng?

VBA có sẵn trong tất cả các ứng dụng Microsoft Office, bao gồm Excel.

Và Excel là một trong những chương trình phổ biến nhất trên thế giới và được sử dụng trong nhiều lĩnh vực và nơi làm việc khác nhau, tất cả đều có quy trình làm việc và trường hợp sử dụng riêng.

Nếu không biết, không thể sử dụng VBA Excel, vô số giờ làm việc trên Excel sẽ bị lãng phí mỗi tuần.

Công việc lặp đi lặp lại nhàm chán và không hỗ trợ đưa ra các quyết định nhanh chóng.

Tự động hóa với VBA Excel có thể thực hiện các nhiệm vụ tương tự với tốc độ nhanh như chớp của máy tính.

Sử dụng VBA cho phép bạn tập trung vào các khía cạnh quan trọng hơn công việc của, làm việc hiệu quả, năng suất, chất lượng hơn.

Và bạn có thể về nhà sớm hơn!

VBA có phải là ngôn ngữ lập trình tốt không?

VBA có các yếu tố lập trình điển hình như:

  • Biến, mảng, hàm, vòng lặp…
  • Nó có một cú pháp rất dễ đọc và có thể khai thác rất nhiều sức mạnh từ Windows và các dịch vụ khác.

Về nhược điểm của VBA, là việc xử lý lỗi khá là khó nếu không được học bài bản.

Trong khi các ngôn ngữ lập trình khác sử dụng các try...catch...final thì VBA sử dụng các câu lệnh On Error, để sửa đổi cách các macro hoạt động khi xảy ra lỗi.

Ngoài ra, VBA có thể được sử dụng để tạo các chương trình, trang web hoặc dịch vụ độc lập và nó có thể giao diện với các API lập trình mới hơn như nền tảng .NET.

Tuy nhiên, VBA là ngôn ngữ phổ biến nhất được sử dụng lập trình trên Excel.

Còn đối với các nhiệm vụ khác thì đã có các ngôn ngữ lập trình khác tốt hơn như: Java, PHP, Python.

Microsoft cũng đang dự tính đưa Python lên thay thế cho VBA để lập trình Marcro trong Excel. Nếu thành công thì có lẽ đây là tương lai cực kỳ tươi sáng cho tự động hóa công việc trên Excel.

Bởi vì Python dễ học hơn nhiều so với ngôn ngữ VBA hiện tại.

Note: Python được dùng để dạy trẻ em lớp 6 học lập trình. Và đây cũng là ngôn ngữ lập trình đang phổ biến nhất trên thế giới.

Ngôn ngữ VBA có tính hướng đối tượng không?

VBA có một số hỗ trợ hạn chế cho một số khái niệm hướng đối tượng:

  • Đóng gói: VBA hỗ trợ ẩn dữ liệu bằng các class
  • Đa hình: Từ khóa Implements cho phép lập trình viên sử dụng các lớp khác làm giao diện

Nhưng theo định nghĩa chặt chẽ thì VBA không hướng đối tượng.

Đáng chú ý là VBA thiếu khái niệm kế thừa, điều này hạn chế nghiêm trọng khả năng mở rộng của các chức năng hiện có.

Tuy nhiên, đối với lập trình, tự động hóa công việc trên Excel, VBA là đủ để chúng ta thoải mái vùng vẫy.

Biết lập trình VBA sẽ giúp bạn nâng cấp, tối ưu công việc của mình ở một tầm cao mới, có nhiều thời gian hơn có các công việc quan trọng, sáng tạo khác.

Hi vọng qua bài viết này, mình đã giúp bạn hiểu rõ hơn về VBA là gì và sớm quyết định ứng dụng VBA vào công việc, doanh nghiệp của bạn.

Nguồn: HỌC VIỆN ĐÀO TẠO CNTT NIIT – ICT HÀ NỘI

Website: https://niithanoi.edu.vn

Fanpage: https://facebook.com/NIIT.ICT/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Start a Blog at WordPress.com.

Up ↑

%d bloggers like this: