Tool Excel – Hướng dẫn tạo hàm chuyển số thành chữ tiếng Việt và tiếng Anh bằng VBA Excel – 2024
7 mins read

Tool Excel – Hướng dẫn tạo hàm chuyển số thành chữ tiếng Việt và tiếng Anh bằng VBA Excel – 2024

Mục lục

Excel là công cụ mạnh mẽ trong quản lý dữ liệu và tính toán, nhưng khi cần chuyển đổi các con số thành chữ, đặc biệt là trong các trường hợp hóa đơn, báo cáo tài chính, hoặc chứng từ, Excel không cung cấp tính năng sẵn có. May mắn thay, chúng ta có thể sử dụng VBA (Visual Basic for Applications) để tạo ra công cụ tự động hóa công việc này. Bài viết này Tool thủ sẽ hướng dẫn chi tiết cách tạo công cụ chuyển số thành chữ tiếng Việt và tiếng Anh bằng VBA trong Excel nhé!

1. Giới thiệu về VBA và ứng dụng trong Excel

VBA là một ngôn ngữ lập trình tích hợp sẵn trong Excel và các ứng dụng khác của Microsoft Office. Nó cho phép bạn tạo các macro để tự động hóa các tác vụ, xây dựng các chức năng tùy chỉnh và mở rộng khả năng của Excel. Trong bài viết này, chúng ta sẽ viết một macro VBA để chuyển đổi các số thành chữ cho cả tiếng Việt và tiếng Anh.

2. Bước chuẩn bị trước khi lập trình VBA

Trước khi bắt đầu, bạn cần đảm bảo rằng tab “Developer” đã được kích hoạt trong Excel. Để kích hoạt tab này, thực hiện các bước sau:

  1. Vào File > Options.
  2. Chọn Customize Ribbon.
  3. Tích chọn Developer trong danh sách bên phải và bấm OK.

Sau khi tab “Developer” xuất hiện, bạn đã sẵn sàng viết mã VBA.

3. Tạo hàm chuyển đổi số thành chữ tiếng Việt

Bước 1: Mở môi trường VBA

  1. Chọn tab Developer.
  2. Nhấn vào Visual Basic để mở cửa sổ VBA.
  3. Trong cửa sổ VBA, chọn Insert > Module để tạo một module mới.

Bước 2: Viết hàm chuyển số thành chữ tiếng Việt

them-code-vba-trong-module-warsongclan
them-code-vba-trong-module-warsongclan

Dưới đây là mã VBA để chuyển số thành chữ tiếng Việt:

Function NumberToTextVN(ByVal number As Double) As String
Dim units As Variant
Dim i As Integer, temp As String
Dim unitIndex As Integer
units = Array(“”, “mươi”, “trăm”, “nghìn”, “triệu”, “tỷ”)
Dim ones As Variant
ones = Array(“”, “một”, “hai”, “ba”, “bốn”, “năm”, “sáu”, “bảy”, “tám”, “chín”)

temp = “”
If number = 0 Then
NumberToTextVN = “không”
Exit Function
End If

i = 0
Do While number > 0
unitIndex = i Mod 6
If number Mod 10 <> 0 Then
temp = ones(number Mod 10) & ” ” & units(unitIndex) & ” ” & temp
End If
number = Int(number / 10)
i = i + 1
Loop
NumberToTextVN = Application.Trim(temp)
End Function

Hàm NumberToTextVN này sẽ chuyển đổi các số từ 0 đến 999,999,999 thành chữ tiếng Việt. Bạn có thể sử dụng hàm này trong Excel như một hàm thông thường.

Bước 3: Sử dụng hàm trong Excel

Sau khi hoàn tất mã VBA, quay lại Excel và nhập hàm vào ô bất kỳ:

=NumberToTextVN(123456)

Kết quả sẽ là “một trăm hai mươi ba nghìn bốn trăm năm mươi sáu”.

4. Tạo hàm chuyển đổi số thành chữ tiếng Anh

Để chuyển số thành chữ tiếng Anh, bạn có thể tạo một hàm khác với mã VBA tương tự, nhưng với từ vựng tiếng Anh.

Bước 1: Viết hàm chuyển số thành chữ tiếng Anh

Thêm một module mới hoặc sử dụng module hiện tại:

Function NumberToTextEN(ByVal number As Double) As String
Dim ones As Variant, tens As Variant, hundreds As Variant
ones = Array(“”, “one”, “two”, “three”, “four”, “five”, “six”, “seven”, “eight”, “nine”)
tens = Array(“”, “”, “twenty”, “thirty”, “forty”, “fifty”, “sixty”, “seventy”, “eighty”, “ninety”)
hundreds = Array(“”, “hundred”, “thousand”, “million”, “billion”)

If number = 0 Then
NumberToTextEN = “zero”
Exit Function
End If

Dim words As String
Dim i As Integer
words = “”
i = 0
Do While number > 0
Dim digit As Integer
digit = number Mod 10
words = ones(digit) & ” ” & hundreds(i) & ” ” & words
number = Int(number / 10)
i = i + 1
Loop
NumberToTextEN = Application.Trim(words)
End Function

Bước 2: Sử dụng hàm trong Excel

Bạn có thể sử dụng hàm này trong Excel với cú pháp tương tự:

=NumberToTextEN(123456)

Kết quả sẽ là “one hundred twenty three thousand four hundred fifty six”.

5. Những lưu ý khi sử dụng VBA

  • Kiểm tra lỗi: VBA có thể gặp lỗi nếu nhập số quá lớn hoặc không phải số. Bạn nên bổ sung thêm mã để xử lý các trường hợp ngoại lệ.
  • Tùy chỉnh: Bạn có thể tùy chỉnh các hàm này để phù hợp với yêu cầu cụ thể hơn như thêm đơn vị tiền tệ.
  • Bảo mật: Nếu chia sẻ file Excel với người khác, hãy đảm bảo mã VBA không chứa các lỗ hổng bảo mật.

Kết luận

Sử dụng VBA để tạo công cụ chuyển số thành chữ tiếng Việt và tiếng Anh trong Excel giúp tự động hóa công việc và giảm thiểu sai sót khi làm việc với các con số. Với hướng dẫn chi tiết trên, hy vọng bạn có thể dễ dàng tạo và sử dụng công cụ này để nâng cao hiệu quả làm việc. Hãy thử áp dụng ngay và tận hưởng những lợi ích mà nó mang lại!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *