Lập trình VBA trong Excel (Phần 1: Làm quen với VBA)

2024/05/21

Kỹnăng_Máytính

I.VBA trong excel là gì?

1.1.Định nghĩa

VBA (Visual basic for Applications) trong excel là một ngôn ngữ lập trình đơn giản có tính năng cho phép bạn có thể viết các hàm hoặc lệnh của riêng mình trong chính trang excel.

1.2.Lợi ích

  • Tự động hóa công việc: Thay vì phải thực hiện 1 thao tác lặp đi lặp lại nhiều lần, VBA giúp kế toán tối ưu thời gian thực hiện chỉ bằng  một thao tác và chính xác.
  • Xử lý dữ liệu và phân tích: VBA có thể viết mã giúp thực hiện các phép tính, lọc dữ liệu và trình bày thông tin theo cách tự định nghĩa.
  • Tích hợp và liên kết dữ liệu: VBA cho phép tích hợp excel và các nguồn dữ liệu bên ngoài, giúp trao đổi dữ liệu một cách linh hoạt và hiệu quả.
  • Tạo các ứng dụng tùy chỉnh: VBA sẽ tối ưu hóa quy trình, thời gian làm việc, tăng cường hiệu quả và hiệu suất làm việc.

II.Thẻ Developer

2.1.Hiển thị tab Developer

Bước 1: Nhấn tab “File” chọn mục “Options”

Bước 2: Màn hình hiển thị hộp thoại “Excel Options” chọn mục “Customize the Ribbon”

Bước 3: Tại vùng “Main tabs” tích vào ô “Developer” sau đó nhấn “OK”.

Sau khi hoàn thành, trên thanh công cụ sẽ hiển thị thêm tab “Developer”

2.2.Mở trình soạn thảo VBA

Cách 1: Sử dụng Visual Basic

Nhấp chuột vào tab “Developer”, trong nhóm “Code” nhấn chọn “Visual Basic”

Sau khi hoàn thành, màn hình sẽ hiển thị giao diện của trình soạn thảo VBA trong excel.
 

Cách 2: Sử dụng Worksheet

Nhấp chuột vào tab ”Worksheet” mà bạn muốn lập trình, nhấn chuột phải tại tên sheet và lựa chọn “View code”
                                                  

Cách 3: Sử dụng phím tắt ”Alt + F11”

III.Làm quen với môi trường lập trình VBA

3.1.Thanh menu

Thanh menu là nơi chứa các tab và các tùy chọn cho tab sử dụng trong quá trình Visual basic editer.

3.2.Toolbar

Toolbar là thanh công cụ chứa các tùy chọn hữu ích như xóa và thêm tùy chọn

3.3.Project explorer 

Project explorer là cửa sổ hiển thị những đối tượng đang mở trong excel.

Mỗi workbook Hoặc add-in được mở được xem là một project.

Mỗi project đa dạng bộ sưu tập của nhiều đối tượng.

Một số đối tượng nổi bật là một phần của project explorer:

Đối với tất cả workbook được mở , mỗi workbook là một project bao gôm một số đối tượng sau đây:

  • Đối tượng Worksheet ở mỗi bảng tính trong workbook
  • Đối tượng Thisworkbook đại diện cho workbook
  • Đối tượng Chartsheet danhf cho mỗi sheet Biểu đồ
  • Module là nơi được tạo bằng ngôn ngữ mã macro

3.4.Cửa sổ properties

Cửa sổ properties là cửa sổ hiển thị các thuộc tính các đối tượng mà người dùng lựa chọn sử dụng.

Lưu ý: Trong trường hợp cửa sổ không có Properties thì nhấn mở lại bằng “Phím F4” Hoặc truy cập vào tab "View”-> Chọn “Properties window”

3.5.Cửa sổ Immediate

Cửa sổ Immediate là Cửa sổ gỡ lỗi và xác định vị trí mã bị lỗi.

Cửa sổ này thường không hiển thị, vì vậy để mở cửa sổ sử dụng phím tắt “Ctrl + G” Hoặc truy cập vào tab “View”-> Chọn “Immediate window”

Trên cửa sổ Immediate, bạn có thể sử dụng lệch Print.Debug trong mã để gỡ rối và xem kết quả trực tiếp.

IV.Cú pháp và cách viết mã excel VBA

4.1.Cú pháp và cách viết mã VBA

Cú pháp và cách viết mã VBA đóng vai trò quan trọng trong việc phát triển ứng dụng và xử lý dữ liệu trong excel. Để hiểu và áp dụng VBA một cách hiệu quả, chúng ta cầm nắm vững cũ pháp cơ bản và biết cách viết mã chính xác:
  • Cú pháp cơ bản của VBA tuân theo ngôn ngữ Visual Basic.
  • Mỗi dòng mã được đặt trong một thủ tục hoặc hàm, bắt đầu bằng từ khóa như “Sub” hoặc “Function”.
  • Biến và kiểu dữ liệu cũng đóng vai trò quan trọng. Khi khai báo biến, cần chỉ định kiểu dữ liệu như số nguyên, số thực, chuỗi, hoặc đối tượng.

4.2.Một số quy tắc khi viết mã VBA

  • Đầu tiên, đặt tên biến và đối tượng sao cho dễ hiểu và miêu tả chức năng của chúng
  • Sử dụng thụt lề để tạo cấu trúc mã rõ ràng và dễ đọc.
  • Đặt chú thích (comment) để giải thích ý nghĩa và logic của từng phần mã.

Ngoài ra, bạn có thể tận dụng tính năng khác của VBA như:

  • Hỗ trợ mã nguồn Intellisense
  • Bộ gỡ lỗi debugger
  • Tìm hiểu các chức năng, phương thức và dữ kiện có sẵn trong excel VBA để tận dụng toàn bộ tiềm năng của nó.

V.Cấu trúc một chương trình VBA Excel cơ bản

  • Khai báo Option Explicit
  • Ghi chú (Không ảnh hưởng đến chương trình VBA)
  • Tên chương trình
  • Khai báo các biến
  • Viết code
  • Kết thúc

VI.Ví dụ đơn giản

6.1.Nội dung

Tạo nút chuyển đổi tiền tệ:

Chi tiết nội dung: Tạo một nút sẽ chuyển đổi giá trị trong một ô đã chọn từ USD sang VNĐ

6.2.Các bước thực hiện

Bước 1: Chuyển đổi giá trị số từ USD sang VNĐ bằng cách nhân số USD với tỷ giá 23.000 (tỷ giá hối đoái giả định)

Tạo một nút:
  • Tại Tab ”Developer”, trong phần “Controls” nhấp vào “Insert”
  • Chọn “ActiveX Command Button” sau đó vã một nút lên bảng tính excel. Màn hình sẽ hiển thị nút có chú thích là CommandButton1 theo mặc định. 

                                                      

  • Chọn "Nút" và nhấp chuột phải chọn “Properties” để hiển thị cửa sổ thuộc tính.

 
  •  Tại thuộc tính:
    • Name: Thay đổi tên code “CommandButton1” thành một nội dung dễ nhớ. Lưu ý: Đây không phải là chữ sẽ hiển thị trên nút mà là cách nút sẽ được gọi trong code VBA của bạn. Ví dụ: “ConvertButton”
    • Caption: Thay đổi “CommandButton1” thành nội dung bạn muốn hiển thị trên nút. Ví dụ: “USD to VND”

 

Bước 2: Thay đổi định dạng trong ô từ USD sang VNĐ

Tại màn hình excel hiển thị "Nút" chuyển đổi:

  • Nhấn đúp chuột vào “Nút”, màn hình sẽ hiển thị giao diện trình soạn thảo VBA.
  • Phần đầu và phần cuối của code đã có sẵn hai đoạn màu xanh lam ở trước và sau hàm của bạn
  • Phần văn bản màu đen là phần hàm của bạn. Phần hàm cho biết hành động sẽ diễn ra sau khi người dùng nhấp vào “Nút”
  • Để thực hiện quy trình chuyển đổi tiền tệ, bạn sẽ sử dụng các dòng code sau giữ hai dòng màu xanh được tạo bới excel:

Dim R As Range

Dim W As Range

Set W = Seletion

For Each R In W

R.Value = (R.Value * 23000)

R.NumberFormat = “ 0.00 ”

Next
  • Khi code của bạn đã được thiết lập xong, hãy đóng trình soạn thảo VBA. Các thay đổi của bạn sẽ tự động được lưu.

Giải thích:

  • Đoạn Code này khai báo hai biến RW là các phạm vị . Bạn có thể thay đổi hai chữ cái này thành bất cứ thứ gì bạn muốn, miễn là bạn nhất quán trong toàn bộ đoạn code.
  • Sau đó, mã đặt biến WSelection (Lựa chọn). -> Điều này có nghĩa: W là các ô được chọn trong bảng tính.
  • Câu lệnh For Each là mã bên dưới câu lệnh chạy cho mọi R trong W-> Có nghĩa là cho mọi ô trong phạm vi được chọn.
  • Tiếp theo là hàm chính, Giá trị trong ô được nhân với 23.000 (tỷ giá hối đoái từ USD sang VND), sau đó định dạng ô được thay đổi để đại diện cho VND.
  • Cuối cùng câu lệnh Next là chỉ ra rằng code (phép nhân và thay đổi định dạng) cũng sẽ chạy cho ô tiếp theo trong phạm vi, tức là R tiếp theo trong W

6.3.Kết quả

  • Sau khi tắt giao diện lập trình VBA, màn hình sẽ hiển thị về excel quen thuộc. Để thực hiện chuyển đổi giá trị, bạn cần tắt Design Mode để dừng bất kỳ sửa đổi nào khác đối với nút và làm cho nút hoạt động
  • Tiếp theo, chọn một ô hoặc một dải ô sau đó nhấp vào "Nút" -> Kết quả: Các ô được lựa chọn sẽ chuyển đổi giá trị từ USD sang VND và thay đổi định dạng sang tiền VND.



Hãy cùng chờ đón các bài thông tin về VBA tiếp theo để biết thêm nhiều bài lập trình nhé!!!

Nguồn: https://funix.edu.vn/chia-se-kien-thuc/huong-dan-lap-trinh-vba-excel/

Tìm kiếm Blog này

AGS Accounting会社紹介(JP)

Translate

Lưu trữ Blog

QooQ