Lập công thức số tiền bằng chữ trong Excel thật dễ dàng với cách làm này
Có cách nào để lập công thức số tiền bằng chữ trong Excel không?
Câu trả lời là không và có, không là không có bất kỳ hàm có sẵn nào trong Excel có thể thực hiện việc đổi số thành chữ trong Excel cả. Còn có ở đây là có thể lập công thức số tiền bằng chữ trong Excel thông qua việc tự tạo một hàm đổi số thành chữ trong Excel với ngôn ngữ lập trình VBA (Visual Basic for Applications) và các công cụ được Microsoft tích hợp để viết và chạy các đoạn mã được người dùng tạo ra này.
Bạn nghĩ rằng chúng quá khó để có thể thực hiện được điều này. Điều đó là đúng đối với những người không biết và hiểu lập trình là gì. Thế như trong hướng dẫn sau đây chúng tôi sẽ hướng dẫn bạn cách thêm hàm đổi số thành chữ trong Excel mà thôi, việc viết ra đoạn mã này đã được chúng tôi tìm hiểu và tạo sẵn cho bạn. Theo dõi tiếp phần dưới đây để có thể thực hiện được điều này.
Lập công thức số tiền bằng chữ trong Excel bằng VBE
Sử dụng VBA (Visual Basic for Application) để thêm hàm đổi số thành chữ trong Excel với bất kỳ phiên bản nào từ Excel 2003, 2010 hoặc mới hơn (khả năng tương thích ngược từ phiên bản cao xuống phiên bản thấp hơn là không thể, bạn nên lưu ý vấn đề này khi gửi tệp trang tính Excel của mình cho người khác).
Cách lập công thức số tiền bằng chữ trong Excel được thực hiện một cách dễ dàng nhờ sự hỗ trợ của VBE như sau:
1. Sử dụng phím tắt Alt + F11 để mở Visual Basic Editor (VBE).
- Bạn có thể truy cập vào trình soạn thảo Visual Basic bằng cách vào mục Developer trên thanh công cụ. Nếu thanh công cụ không xuất hiện mục Developer này có thể làm như sau: File > Options > Customize Ribbon > Bên cột Main Tabs tích chọn hộp đánh dấu Developer.
2. Trong cửa sổ hộp thoại VBA nhấp vào tab Insert > Module.
3. Sao chép đoạn mã sau vào trong trình soạn thảo. Đoạn mã này sẽ tự động hóa tác vụ đổi số thành chữ trong Excel cho trang tính của bạn.
Option Explicit
‘Main Function
Function SpellNumber(ByVal MyNumber)
Dim VND, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = ” Ngan “
Place(3) = ” Trieu “
Place(4) = ” Ti “
Place(5) = ” Ngin Ti “
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, “.”)
If DecimalPlace > 0 Then
MyNumber = Trim(Left(MyNumber, DecimalPlace – 1))
End If
Count = 1
Do While MyNumber <> “”
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> “” Then VND = Temp & Place(Count) & VND
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) – 3)
Else
MyNumber = “”
End If
Count = Count + 1
Loop
Select Case VND
Case “”
VND = “Khong Dong”
Case “One”
VND = “Mot Dong”
Case Else
VND = VND & ” Dong”
End Select
SpellNumber = VND
End Function
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right(“000” & MyNumber, 3)
‘ Convert the hundreds place.
If Mid(MyNumber, 1, 1) <> “0” Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & ” Tram “
End If
‘ Convert the tens and ones place.
If Mid(MyNumber, 2, 1) <> “0” Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
Function GetTens(TensText)
Dim Result As String
Result = “” ‘ Null out the temporary function value.
If Val(Left(TensText, 1)) = 1 Then ‘ If value between 10-19…
Select Case Val(TensText)
Case 10: Result = “Muoi”
Case 11: Result = “Muoi Mot”
Case 12: Result = “Muoi Hai”
Case 13: Result = “Muoi Ba”
Case 14: Result = “Muoi Bon”
Case 15: Result = “Muoi Nam”
Case 16: Result = “Muoi Sau”
Case 17: Result = “Muoi Bay”
Case 18: Result = “Muoi Tam”
Case 19: Result = “Muoi Chin”
Case Else
End Select
Else ‘ If value between 20-99…
Select Case Val(Left(TensText, 1))
Case 2: Result = “Hai Muoi “
Case 3: Result = “Ba Muoi “
Case 4: Result = “Bon Muoi “
Case 5: Result = “Nam Muoi “
Case 6: Result = “Sau Muoi “
Case 7: Result = “Bay Muoi “
Case 8: Result = “Tam Muoi “
Case 9: Result = “Chin Muoi “
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ‘ Retrieve ones place.
End If
GetTens = Result
End Function
Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = “Mot”
Case 2: GetDigit = “Hai”
Case 3: GetDigit = “Ba”
Case 4: GetDigit = “Bon”
Case 5: GetDigit = “Nam”
Case 6: GetDigit = “Sau”
Case 7: GetDigit = “Bay”
Case 8: GetDigit = “Tam”
Case 9: GetDigit = “Chin”
Case Else: GetDigit = “”
End Select
End Function
4. Nhấn Alt + Q để quay trở lại trang tính Excel. Và giờ đây hàm SpellNumber() đã sẵn sàng có trong công thức để sử dụng.
Lưu ý: Chức năng này chỉ hoạt động cho sổ làm việc hiện tại. Để sử dụng chức năng này trong một file Excel khác, bạn phải lặp lại các bước để sao chép và dán mã trong sổ làm việc đó.
Cách sử dụng hàm đổi số thành chữ trong Excel
Ngay trang tính bạn mới vừa thêm hàm SpellNumber() ở trên vào trong VBA, bạn có thể sử dụng được ngay hàm đổi số thành chữ SpellNumber() ngay mà không cần thực hiện thêm một thao tác nào khác.
Công thức tổng quát là: =SpellNumber(số tiền nhập vào ở dạng số)
Bạn có thể nhập thủ công số tiền hoặc có thể đưa giá trị là một ô tính chứa số tiền bạn muốn chuyển đổi “=SpellNumber(A1)“.
Xem cách sử dụng hàm đổi số thành chữ trong Excel thông qua ví dụ minh họa về việc nhập liệu một phiếu thu tiền với thông tin bao gom là số tiền ở dạng cả số và chữ.
Thay vì nhập thủ công ra chữ số tiền nộp trong ô B7 bạn có thể sử dụng hàm SpellNumber bằng cách nhập công thức sau vào ô B8 là =SpellNumber(B7).
Cách lưu bảng tính Excel có chứa hàm SpellNumber của bạn
Excel không thể lưu sổ làm việc với các hàm macro ở định dạng sổ làm việc không có macro chuẩn (.xlsx). Nếu bạn bấm vào File > Save. Một hộp thoại nhắc nhở dự án VB sẽ mở ra. Nhấp vào No.
Bạn có thể lưu tệp của mình dưới dạng tệp có hỗ trợ Macro Excel (.xlsm) để giữ tệp của bạn ở định dạng hiện tại.
1. Nhấp vào File > Save as.
2. Bấm vào trình đơn thả xuống Save as và chọn Excel Macro-Enabled Workbook.
3. Nhấn Save để lưu lại tệp bảng tính Excel có chứa mã hàm SpellNumber.
Nhược điểm của lập công thức số tiền bằng chữ trong Excel
Trước hết, bạn phải biết VBA để sửa đổi mã theo nhu cầu của bạn. Cần phải dán mã cho mỗi sổ làm việc, nơi bạn có ý định sử dụng hàm đổi số thành chữ trong Excel. Nếu không, bạn sẽ cần tạo tệp mẫu với macro và định cấu hình Excel để tải tệp này mỗi lần bắt đầu.
Bất lợi chính của việc sử dụng macro là nếu bạn gửi sổ làm việc cho người khác, người này sẽ không nhìn thấy văn bản trừ khi Macro được tích hợp vào sổ làm việc. Và ngay cả khi nó được tích hợp sẵn, họ sẽ nhận được cảnh báo rằng có Macro trong sổ làm việc.
Trên đây là bài viết hướng dẫn cách lập công thức số tiền bằng chữ trong Excel thông qua việc tạo hàm đổi số thành chữ trong Excel với tên là SpellNumber. Đôi khi chúng ta cần bỏ ra chút thời gian và công sức để đổi lại hiệu suất làm việc được nâng cao và tốn ít thời gian hơn nếu như bạn đang phải thao tác trong một tệp Excel với dữ liệu lớn.
Nếu thấy bài viết lập công thức số tiền bằng chữ trong Excel này hữu ích hãy để lại Like & Share cũng như bình luận ở phần bên dưới nếu có bất kỳ thắc mắc cần giải đáp nào khác. Bạn đọc có thể theo dõi thường xuyên các bài viết hữu ích khác của Phanmemgoc.vn được đăng tải đều đặn trên trang.