Mytour / Theresa Chiechi
Visual Basic for Applications (VBA) là gì?
Visual Basic for Applications (VBA) được sử dụng để viết các chương trình cho hệ điều hành Windows. Nó hoạt động như một ngôn ngữ lập trình nội bộ trong các ứng dụng Microsoft Office (MS Office, Office) bao gồm Access, Excel, PowerPoint, Publisher, Word và Visio.
VBA là một phần của phần mềm kế thừa Visual Basic của Microsoft Corporation (MSFT). Nó cho phép người dùng tùy chỉnh ngoài những gì thường có sẵn trong các ứng dụng chủ MS Office.
Những điều cần nhớ
- Visual Basic for Applications là một ngôn ngữ lập trình máy tính được phát triển và sở hữu bởi Microsoft.
- Bạn có thể tạo các macro để tự động hóa các chức năng xử lý từ và dữ liệu lặp đi lặp lại với VBA và tạo các biểu mẫu, đồ thị và báo cáo tùy chỉnh.
- VBA hoạt động trong các ứng dụng MS Office. Nó không phải là một sản phẩm đứng riêng.
- VBA được truy cập trong Excel bằng cách nhấn Alt + F11 khi có một workbook Excel hiện diện.
- VBA tận dụng các đối tượng, biến, thuộc tính, dự án, toán tử logic và mô-đun để làm cho các câu lệnh được nhận dạng bởi quá trình gỡ lỗi.
Hiểu về Visual Basic for Applications (VBA)
VBA là một công cụ dựa trên sự kiện. Bạn có thể sử dụng nó để yêu cầu máy tính khởi động một hành động hoặc chuỗi hành động bằng cách nhập lệnh vào mô-đun chỉnh sửa để xây dựng các macroinstructions tùy chỉnh (macros).
Một macro về cơ bản là một chuỗi các ký tự đầu vào dẫn đến một chuỗi ký tự khác (kết quả đầu ra). Điều này hoàn thành các nhiệm vụ tính toán cụ thể. Bạn không cần mua phần mềm VBA vì VBA là phiên bản của Visual Basic đi kèm với Microsoft Office.
VBA không phải là một chương trình đứng riêng. Nó cho phép người dùng điều khiển các tính năng giao diện người dùng đồ họa (GUI) như thanh công cụ, menu, hộp thoại và các biểu mẫu. Bạn có thể sử dụng VBA để tạo các hàm người dùng tự định nghĩa (UDFs), truy cập vào các giao diện lập trình ứng dụng Windows (APIs), và tự động hóa các quy trình và tính toán cụ thể trên máy tính.
Microsoft cung cấp nhiều cơ hội học hỏi cho các nhà phát triển mới vào nghề để có kinh nghiệm nhỏ trong việc làm việc với VBA.
VBA trong Excel
Tất cả các chương trình trong bộ Office chia sẻ các ngôn ngữ lập trình chung và mỗi chương trình đều có khả năng tích hợp mã VBA để tăng cường chương trình. VBA đã phù hợp tự nhiên hơn với Excel so với các chương trình trong bộ Office khác vì tính lặp lại của bảng tính, phân tích dữ liệu và tổ chức dữ liệu.
Nền tảng của mối quan hệ giữa VBA và Excel thường liên quan đến việc sử dụng macro. Bạn có thể sử dụng VBA để chạy macro trong Excel nhưng bạn cũng có thể sử dụng nó cho các hoạt động không phải là macro.
Cách truy cập VBA trong Excel
Đơn giản chỉ cần nhấn Alt + F11 để truy cập VBA trong Excel. Workbook Excel hiện tại của bạn sẽ vẫn đang chạy nhưng một cửa sổ mới sẽ xuất hiện cho Microsoft Visual Basic for Applications. Phía trên bên trái của cửa sổ VBA sẽ hiển thị các dự án hiện tại. Tập tin Dự án Mytour sẵn sàng để nhận mã VBA trong ví dụ này:
Cửa sổ hiển thị các thuộc tính của dự án được chọn ở góc dưới bên trái. Các thuộc tính được liệt kê khi các dự án hoặc workbook được chọn. Các thuộc tính này được liệt kê theo thứ tự chữ cái mặc định mặc dù chúng có thể được sắp xếp theo danh mục.
Một cửa sổ mới xuất hiện khi bạn double-click vào một dự án ở góc trên bên trái. Không có thông tin nào trong khu vực này nhưng bạn sẽ thấy hai dropdown nói '(Chung)' và '(Khai báo).' Mã VBA được nhập trực tiếp vào cửa sổ lập trình này.
Dưới đây là một ví dụ về mã VBA đã được nhập:
Nhiều nút và công cụ quan trọng xuất hiện trên thanh công cụ. Các mục được tô màu vàng là các công tắc chạy, dừng và đặt lại cho mã VBA. Nút chạy thực thi mã. Nút dừng tạm thời hoạt động của mã. Nút đặt lại dừng thực hiện của mã và đưa quy trình trở lại vị trí bắt đầu của mã.
Những gì bạn có thể làm với VBA
Tài chính là về việc xử lý lượng dữ liệu lớn và VBA là phổ biến trong ngành dịch vụ tài chính. Nó có thể chạy trong các ứng dụng mà bạn sử dụng hàng ngày nếu bạn làm việc trong lĩnh vực tài chính ngay cả khi bạn không nhận thức được điều này. Một số công việc trong ngành yêu cầu kiến thức về VBA trước và một số không. Bạn có thể:
- Viết macros: Macros cho phép các chuyên gia tài chính như kế toán, ngân hàng thương mại, ngân hàng đầu tư, phân tích nghiên cứu, nhà bán hàng, nhà giao dịch, quản lý danh mục, thư ký và quản trị viên phân tích và điều chỉnh lượng lớn dữ liệu nhanh chóng.
- Cập nhật dữ liệu: Bạn có thể sử dụng VBA trong Excel để tạo và duy trì các mô hình giao dịch, giá cả và quản lý rủi ro phức tạp, dự báo doanh số bán hàng và lợi nhuận, và tạo các tỷ lệ tài chính.
- Thực hiện phân tích kịch bản: Bạn có thể tạo ra các kịch bản quản lý danh mục và đầu tư khác nhau với Visual Basic for Applications. Điều này bao gồm lọc thông qua các tình huống có thể ảnh hưởng đến kết quả khác nhau.
- Tổ chức thông tin: Bạn cũng có thể sử dụng VBA để tạo danh sách tên khách hàng hoặc nội dung khác, tạo hóa đơn, biểu mẫu và biểu đồ, phân tích dữ liệu khoa học và quản lý hiển thị dữ liệu cho ngân sách và dự báo.
- Thực hiện các công việc không thông thường: VBA có thể được sử dụng để sao chép và dán các giá trị, điều chỉnh kiểu ô cho toàn bộ workbook và kích hoạt phím tắt. Bạn có thể thực hiện các công việc bình thường một cách dễ dàng và tự động hơn.
- Khuyến khích hành động: VBA có thể được sử dụng để tương tác với người dùng. Bạn có thể cần sự nhập của người dùng cho tên đầu tiên và cuối cùng của họ để được đặt trên một biểu mẫu. VBA khuyến khích người dùng một cách làm cho sự nhập này trở nên bắt buộc không thể tránh được.
Nhiều diễn đàn trực tuyến cung cấp mã VBA cho bạn đơn giản chỉ cần sao chép và dán mã cho việc sử dụng cá nhân. Hãy cẩn thận khi sử dụng mã của người khác, đặc biệt nếu bạn không quen thuộc với nguồn gốc, cá nhân đó, hoặc logic của mã.
Các Thuật ngữ VBA Quan trọng
Mô-đun
Một mô-đun là nơi mà Excel lưu trữ mã VBA. Thông tin về các mô-đun trong một bảng tính có thể được tìm thấy trong Trình Duyệt Dự án, một trong các phần của Trình biên tập Visual Basic. Tất cả các mô-đun có thể được lưu trong một thư mục mô-đun. Các mô-đun đôi khi được gọi là mô-đun chuẩn.
Đối tượng
Hầu hết mã được sử dụng để điều khiển các đối tượng trong VBA. Các đối tượng là các mục như các workbook, worksheet, cell, cell range hoặc font của cell. Các đối tượng thường được chọn hoặc được tham chiếu như một phần của mã khi bạn lập trình trong VBA. Mã có thể sử dụng ngôn ngữ 'ActiveCell' để điều khiển đối tượng hiện đang được chọn trong bảng tính. Bạn cũng có thể tạo một quy trình thực thi khi biểu đồ cột được chỉnh sửa.
Thủ tục
Thủ tục là phần của một chương trình máy tính thực hiện một nhiệm vụ cụ thể. Đó là khối mã bắt đầu bằng một khai báo và kết thúc bằng một kết thúc khai báo. Có hai loại thủ tục trong VBA. Thủ tục Sub thực hiện một hành động trong Excel và bắt đầu với văn bản 'Sub.' Thủ tục Function thực hiện các phép tính và trả về một giá trị.
Tuyên bố
Một tuyên bố là một chỉ thị có thể được chia thành hai loại. Đầu tiên, một tuyên bố khai báo được sử dụng để chỉ ra một cái gì đó như định nghĩa một hằng số hoặc một giá trị biến. Thứ hai, các tuyên bố có thể thực thi chỉ định mã chỉ ra hành động cụ thể là gì.
Biến số
Biến số là các vị trí lưu trữ cho các mục đã được xác định. Chúng giữ các giá trị cụ thể có thể thay đổi khi các kịch bản VBA được thực hiện. Biến 'FirstName' có thể không chứa bất kỳ giá trị nào, nhưng nó có thể được gán giá trị 'Jo' sau khi người dùng nhập tên của họ. Biến trong lập trình có thể khác nhau tùy thuộc vào tình huống, tương tự như cách chi phí biến đổi theo thời gian.
Toán tử Logic
Toán tử logic là các chức năng cho phép nâng cao khả năng phân tích và xử lý. Đó là các đoạn mã cho phép máy tính hiểu và so sánh các mục. VBA có thể phân tích xem tên của người dùng có phải là 'Jo' hay không. Chương trình có thể phân tích đầu vào và thực hiện đánh giá logic bằng cách sử dụng các toán tử logic như 'if, then', 'true', và 'false'.
Visual Basic for Applications là phiên bản VB 6 duy nhất hiện vẫn được bán và được hỗ trợ bởi Microsoft. Nó chỉ có sẵn như một thành phần nội bộ của các chương trình Office.
Người dùng VBA
Người dùng Cơ bản
Visual Basic for Applications cho phép người dùng thực hiện nhiều chức năng trong các ứng dụng MS Office vượt ra ngoài các thao tác đơn giản như xử lý từ và tính toán bảng tính. VBA giúp giảm bớt những công việc hàng ngày lặp đi lặp lại thông qua macro cho người dùng cơ bản nhất.
Macro có thể tự động hóa hầu như mọi tác vụ, chẳng hạn như tạo biểu đồ và báo cáo tùy chỉnh và thực hiện các chức năng xử lý từ và dữ liệu. Bạn có thể viết một macro chỉ với một cú nhấp chuột mà sẽ khiến Excel tạo ra một tờ cân đối kế toán hoàn chỉnh từ một loạt các mục nhập kế toán trong bảng tính.
Người dùng Nâng cao
Các lập trình viên sử dụng macro theo các cách phức tạp hơn, như sao chép các đoạn mã lớn, hợp nhất các chức năng chương trình hiện có và thiết kế các ngôn ngữ cụ thể. Mã VBA nâng cao có thể chuyển đổi một vector hàng đơn thành ma trận, điền dữ liệu vào một phạm vi hoặc điều chỉnh các đặc tính của một bảng tính.
Các Công ty và Tổ chức
VBA cũng có thể hoạt động trong các cài đặt bên ngoài Microsoft bằng cách sử dụng công nghệ gọi là giao diện COM cho phép lệnh tương tác qua ranh giới máy tính. Nhiều công ty đã triển khai VBA trong các ứng dụng của họ, cả thương mại và độc quyền, bao gồm AutoCAD, ArcGIS, CATIA, Corel, RAW và SolidWorks.
Bất kỳ công ty nào cũng có thể sử dụng VBA để tùy chỉnh Excel cho một mục đích đặc biệt, như làm rõ thời gian cần để kiếm được 1 triệu đô la trong một danh mục đầu tư dựa trên lãi suất cụ thể và các yếu tố khác như số năm đến nghỉ hưu.
VBA được sử dụng để làm gì?
VBA được sử dụng để mở rộng những gì một số chương trình có thể thực hiện. Thường được sử dụng để tạo macro, tự động hóa quy trình, tạo biểu mẫu tùy chỉnh hoặc thực hiện các tác vụ lặp lại mà có thể cần ít sự can thiệp của con người.
VBA có giống như Excel không?
VBA là một ngôn ngữ máy tính được sử dụng trong Excel. Nó nâng cao khả năng của nó. Excel là một phần mềm rộng hơn được sử dụng cho nhiều loại chức năng phân tích.
VBA có dễ học không?
VBA tương đối dễ học so với những ngôn ngữ phức tạp khác. Nó được coi là một ngôn ngữ thân thiện với người mới bắt đầu. Các lập trình viên VBA thường không cần có kinh nghiệm trước để học ngôn ngữ này. Cộng đồng VBA cũng có nhiều tài nguyên sẵn có cho những người mới bắt đầu lập trình.
VBA vẫn còn được yêu cầu không?
Vâng, VBA vẫn hữu ích và được sử dụng bởi những người tương tác với các sản phẩm Microsoft nhưng các ngôn ngữ mới như Python, C#, hoặc R có thể được sử dụng để viết mã thay thế cho VBA. Các công cụ mới như Power Query có thể thực hiện các tác vụ trước đây chỉ có thể thực hiện khi sử dụng VBA.
Kết luận
VBA được giới thiệu lần đầu vào năm 1991. Được sử dụng suốt nhiều thập kỷ để tự động hóa quy trình, tạo macro và hỗ trợ cá nhân bằng cách thực hiện các tác vụ lặp lại. Các ngôn ngữ máy tính khác mạnh mẽ hơn có thể có khả năng lớn hơn nhưng VBA vẫn hữu ích và có lợi thế là ngôn ngữ dễ học, cơ bản hơn.