Hướng dẫn lập trình VBA Excel cho người mới bắt đầu

Hướng dẫn lập trình VBA Excel cho người mới bắt đầu

Chia sẻ kiến thức 05/01/2023

VBA là một công cụ mạnh mẽ của Microsoft Office. Bạn có thể sử dụng nó để tự động hóa các tác vụ bằng macro, đặt kích hoạt (trigger), v.v. Trong bài viết này, FUNiX sẽ giới thiệu bạn về VBA với một dự án đơn giản.

 

Visual Basic for Applications (VBA) là ngôn ngữ lập trình của Microsoft Office cho phép bạn tạo macro, thêm hộp tin nhắn, thực thi mã bên trong tài liệu để phản hồi một kích hoạt (trigger), v.v. Với VBA, bạn có thể nâng cấp bảng tính Excel và vượt xa các chức năng Excel đơn thuần.

 

Bài viết này sẽ giúp bạn thử sức với VBA bằng một dự án đơn giản: một nút chuyển đổi giá trị của một ô đã chọn từ đồng bảng Anh (GBD) sang đô la Mỹ (USD). 

VBA trong Excel là gì?

VBA (Visual Basic for Application) là một dạng tích hợp của Visual Basic 6 trong các chương trình Microsoft Office. VBA có sẵn trong các ứng dụng Office như Word, PowerPoint và Excel.

VBA cho phép bạn đạt được những thứ mà thông thường không thể làm được với các tính năng phổ biến của Excel. Với VBA, bạn có thể thao tác với giao diện của Excel, thêm các nút chức năng và thậm chí đặt các hàm của riêng bạn.

VBA sử dụng ngôn ngữ lập trình Visual Basic. Thông qua ngôn ngữ này và với một chút kiến ​​thức về lập trình, bạn có thể có trải nghiệm vượt ra ngoài ranh giới của Excel. 

Hướng dẫn VBA trong Excel: Tạo nút chuyển đổi

Để giúp bạn quen với VBA, trong bài viết này, chúng ta sẽ thực hiện một dự án VBA đơn giản: tạo một nút sẽ chuyển đổi giá trị trong một ô đã chọn từ USD sang GBP (đồng bảng Anh).

 

Dự án này có hai bước. Bước đầu tiên là chuyển đổi giá trị số từ USD sang GBP bằng cách nhân số USD với 1,22, tỷ giá hối đoái giả định. Bước thứ hai là thay đổi định dạng trong ô từ USD sang GBP.

Khi bạn nhấp vào nút, giá trị của ô đã chọn sẽ được nhân với tỷ giá hối đoái và ký hiệu đô la sẽ thay đổi thành ký hiệu đồng bảng Anh. 

1. Truy cập Developer Controls trong Excel

Trước khi đi sâu vào VBA, có thể bạn cần phải mở Excel và điều chỉnh cài đặt để hiển thị tab Developer nơi có các tính năng bạn cần truy cập để sử dụng VBA:

  1. Mở Excel.
  2. Chuyển đến menu File.
  3. Nhấp vào Options ở cuối màn hình để mở cửa sổ Tùy chọn Excel.
  4. Trong Options, chuyển đến tab Customize Ribbon.
  5. Dưới Main Tabs, nhấp vào ô Developer .
Tùy chỉnh ruy-băng trong Excel

Ngoài ra, bạn cũng có thể nhấp chuột phải vào dải băng Excel và chọn Customize Ribbon.

 

2. Tạo một nút

Để tạo công cụ chuyển đổi tiền tệ, trước tiên chúng ta cần chèn phần tử nút. Trong bước tiếp theo, chúng ta sẽ đính kèm code VBA của mình vào nút đó.

  1. Trong bảng tính Excel của bạn, hãy chuyển đến tab Developer (Nhà phát triển).
  2. Trong phần Controls (Điều khiển), nhấp vào Insert (Chèn).
  3. Chọn ActiveX Command Button (Nút lệnh ActiveX). Đây là tùy chọn đầu tiên trong ActiveX Controls (Điều khiển ActiveX).
  4. Vẽ một nút trên bảng tính.
Chèn một nút trong Excel

Nút này sẽ có chú thích là CommandButton1 theo mặc định. Tiếp theo hãy:

  1. Chọn nút.
  2. Nhấp chuột phải vào nó và sau đó chọn Properties (Thuộc tính) để hiển thị Cửa sổ Thuộc tính.
  3. Thay đổi (Name) (tên) thành một cái gì đó đáng nhớ hơn. Lưu ý rằng đâ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. Trong ví dụ này, chúng ta sẽ đổi tên thành convertButton .
  4. Thay đổi Caption (Chú thích) thành nội dung bạn muốn hiển thị trên nút. Chúng ta sẽ sử dụng USD to GBP.
Thuộc tính nút trong Excel

Bạn cũng có thể thay đổi phông chữ và thêm một số style cho nút của mình thông qua cùng một cửa sổ. 

 

3. Thêm một số code

Viết code bằng VBA diễn ra trong một môi trường riêng biệt với giao diện Excel tiêu chuẩn. Để truy cập nó, hãy đảm bảo Design Mode (Chế độ thiết kế) đang hoạt động trong tab Developer (Nhà phát triển), sau đó bấm đúp vào nút. Bạn sẽ thấy một cửa sổ như sau:

Trình soạn thảo VBA trống trong Excel

Phần đầu và phần cuối của code đã có sẵn—hai đoạn văn bản màu xanh lam ở trước và sau hàm của bạn, trong khi phần văn bản màu đen cho biết hành động sẽ diễn ra khi người dùng nhấp vào nút. Nếu bạn chọn một tên khác cho convertButton, bạn sẽ thấy tên đó trong cửa sổ này.

Để thực hiện quy trình chuyển đổi tiền tệ, chúng ta sẽ sử dụng các dòng code sau giữa hai dòng đã được tạo bởi Excel:

Dim R As Range\nDim W As Range\nSet W = Selection\nFor Each R In W\nR.Value = (R.Value * 1.22)\nR.NumberFormat = "£ 0.00 "\nNext

Đoạn code này khai báo (declare) hai biến R và W là các phạm vi (parameter). 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 W là Selection (Lựa chọn). Điều này có nghĩa là W là các ô được chọn trong bảng tính. Câu lệnh For Each tuyên bố rằng mã bên dưới câu lệnh sẽ chạy cho mọi R trong W, nghĩa là cho mọi ô trong phạm vi được chọn .

 

Tiếp theo, hàm chính xuất hiện. Giá trị trong ô được nhân với 1,22 (tỷ giá hối đoái từ GBP sang USD), sau đó định dạng ô được thay đổi để đại diện cho GBP. Cuối cùng, câu lệnh Next (Tiếp theo) 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.

Giao diện của nó trong cửa sổ VBA trông như sau:

Mã mẫu trong trình soạn thảo VBA của Excel

Nếu bạn đã đặt tên khác cho nút của mình hoặc sử dụng các tên khác không phải là R và W trong code, hãy nhớ đổi những tên này thành tên trong code của bạn. Nếu không, code sẽ không hoạt động.

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.

4. Kiểm tra công việc của bạn

Bây giờ 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 để xem nó hoạt động như thế nào. Hy vọng rằng bạn sẽ thấy giá trị tăng thêm 1,22, nghĩa là quá trình chuyển đổi tiền tệ đã được thực hiện chính xác.

Kết quả của mã VBA Excel
 

Làm quen với VBA trong Excel

Công cụ chuyển đổi tiền tệ của chúng ta rất đơn giản—nhưng đó là bước đầu tiên để bạn tìm hiểu các tính năng khác nhau của VBA. Nếu bạn mới bắt đầu, hãy chọn các dự án liên quan đến một mục tiêu hoặc nhiệm vụ cơ bản mà bạn muốn làm. Bạn sẽ dần trở nên quen thuộc hơn với cách thức hoạt động của VBA.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/tag/excel-vba-programming-tutorial/

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

yêu cầu gọi lại

error: Content is protected !!