Lập công thức số tiền bằng chữ trong Excel nhanh mà chuẩn

Lập công thức số tiền bằng chữ trong Excel với VBE, cách tạo hàm đổi từ dạng số sang chữ, cách lưu file Excel có hàm SpellNumber và các nhược điểm cần phải biết.

 

Trong công cụ Excel không có hàm hay chức năng mặc định nào có thể giúp các bạn chuyển từ dạng số sang chữ. Vậy làm cách nào để có thể lập công thức số tiền bằng chữ trong Excel? Để có thể trả lời được câu hỏi này hãy cùng chúng tôi tìm hiểu bài viết dưới đấy.

Content

Có lập công thức số tiền bằng chữ trong Excel được không?

Câu trả lời cho câu hỏi này là “Có” và “Không”. Không ở đây có nghĩa là không có hàm hay chức năng mặc định nào trong công cụ Excel thực hiện được việc đổi từ số sang chữ. Còn “Có” thì có nghĩa là lập công thức số tiền bằng chữ trong Excel là điều có thể, và để thực hiện được thì chúng ta sẽ phải sử dụng ngôn ngữ VBD để tạo ra hàm để chuyển đổi từ số sang chữ.

Có phải mọi người nghĩ rằng đây là một việc rất khó?. Đúng vậy, việc này tương đối khó đối với người nào không am hiểu về kiến thức lập trình. Nhưng các bạn đừng quá lo lắng, sau đây của chúng tôi chỉ hướng dẫn cho các bạn cách tạo hàm để đổi số sang chữ ở trong Excel thôi. Còn việc sử dụng ngôn ngữ lập trình để viết code thì chúng tôi đã viết sẵn cho các bạn rồi. Hãy tham khảo thêm nội dung bên dưới để thực hiện nhé.

Lập công thức số tiền bằng chữ trong Excel với VBE

Dùng ngôn ngữ VBA để có thể tạo ra một hàm thực hiện việc đổi từ dạng số sang chữ ở tất cả các phiên bản Microsoft Excel (Khả năng có thể tương thích ở phiên bản mới đến phiên bản cũ là việc khó có thể thực hiện, vì vậy các bạn cần phải lưu ý khi gửi file Excel tới người khác).

Những bước tạo lập công thức số tiền bằng chữ trong Excel sẽ được thao tác dễ dàng hơn nhờ vào sự trợ giúp của VBE:

Bước 1: Mở VBE (Visual Basic Editor) bằng cách nhần tổ hợp phím Alt + F11.

Các bạn cũng có thể mở Visual Basic theo cách sau: Nhấn vào tab Developer nằm trên thanh Menu. Nếu như tab Developer không có trên thanh Menu thì các bạn làm các bước như sau: Vào File => chọn Option => chọn vào Customize Ribbon => Tại Main Tabs nhấn vào Developer => Sau đó nhấn OK.

Bước 2: Sau khi bạn đã mở VBA tại đây bạn nhấn chọn tab Insert => chọn vào Module.

Bước 3: Tiếp theo các bạn hãy copy đoạn code ở bên dưới rồi dán vào trong Module vừa mở. Đoạn code tự động sẽ thực hiện việc đổi dạng số sang chữ ở trong Excel.

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

Bước 4: Sau đó quay về Excel bằng phím tắt Alt + Q. Và lúc này các bạn đã hoàn tất việc tạo hàm SpellNumber() và bây giờ bạn có thể dùng để đổi số sang chữ.

Chú ý: Hàm này chỉ có thể sử dụng ở Sheet mà bạn đã cài đoạn code. Nếu như bạn muốn sử dụng ở bên Sheet khác thì phải làm như sau:

Mở Sheet bạn muốn thực hiện sau đó nhấn vào Developer => Visual Basic => Insert => Module => Dán đoạn code cửa số Module.

Cách dùng hàm để đổi từ số sang chữ trong Excel

Tại trang tính mà bạn vừa mới tạo hàm SpellNumber bên trên, thì bạn đã có thể dùng ngay hàm này để đổi số sang chữ mà chẳng cần phải làm thêm các bước nào nữa.

Công thức được thực hiện như sau: =SpellNumber(Vị trí ô cần thực hiện)

Các bạn cũng có thể tự nhập các số cần đổi sang chữ bằng cách thủ công hoặc là bạn nhập vị trí ô cần thực hiện việc chuyển đổi từ số sang chữ. “Ví dụ như: =SpellNumber(A2)“.

Mời các bạn theo dõi cách dùng hàm để đổi từ số sang chữ trong Excel qua các hình ảnh về việc chuyển số tiền nộp từ dạng số sang dạng chữ.

Tại ví dụ này dữ liệu cần chuyển đổi đã có sẵn ở ô B7, vì thế chúng ta sẽ nhập vị trí ô vào trong công thức thay vì phải nhập từng chứ số. Công thức được viết như sau: Ở ô B8 các bạn hãy nhập =SpellNumber(B7).

Hướng dẫn lưu file Excel có hàm SpellNumber

File Excel sẽ không lưu được nếu như trong file có chứa hàm macro. Nếu như bạn nhấn vào File => Chọn Save. Thì sẽ có thông báo nhắc các bạn rằng dự án VB (Visual Basic) sẽ được mở ra. Sau đó tại cửa sổ thông báo hãy nhấn vào NO.

Nhưng để lưu file thì các bạn cần phải lưu file Excel ở dạng thức .xlsm (Marco Excel) để giữ file của các bạn ở dạng thức hiện tại. Các bước để lưu thực hiện như sau:

Bước 1: Nhấn vào tab File => chọn Save as.

Bước 2: Nhấn vào mục Save as type rồi chọn vào Excel Macro-Enabled Workbook.

Bước 3: Sau đó các bạn nhấn vào Save để thực hiện việc lưu file Excel có hàm SpellNumber ở trong file.

Nhược điểm cần phải biết lập công thức số tiền bằng chữ trong Excel

Đầu tiên, các bạn cần biết VBA dùng để sửa đổi các đoạn code theo ý muốn của chính mình. Và chúng ta cần dán các đoạn code vào trong Sheet mà bạn muốn dùng hàm để thực hiện việc đổi số sang chữ trong Excel. Còn không thì chúng ta sẽ cần phải tạo ra một file Excel mới với macro và cấu hình cho Excel để có thể tải file này mỗi khi bắt đầu.

Nhược điểm của việc dùng macro đó chính là nếu như bạn muốn gửi file Excel này cho một người nào đó, thì người đó sẽ không thể nhìn thấy được văn bản, ngoại trừ khi file Excel được tích hợp Macro thì người nhận file mới có thể nhìn thấy được văn bản.

Ngay cả khi Macro đã tích hợp sẵn thì người nhận file mà bạn đã gửi sẽ nhận được một cảnh báo là có Macro ở trong file Excel.

Như vậy bài viết bên trên đã chia sẻ cho các bạn toàn bộ những hướng dẫn tạo lập công thức số tiền bằng chữ trong Excel bằng cách tạo hàm SpellNumber để đổi số sang chữ trong Excel. Đôi khi trong học tập và làm việc chúng ta lên bỏ ra công sức và thời gian để đổi lại được năng suất làm việc tốt hơn và tiết kiệm được nhiều thời gian hơn khi mà các bạn phải xử lý file Excel có chứa nhiều dữ liệu.

Nếu như các bạn thấy bài viết về lập công thức số tiền bằng chữ trong Excel nhanh mà chuẩn của chúng tôi hay và có ích thì hãy chia sẻ tới những người xung quanh để mọi người cùng tham khảo và thực hiện. Cảm ơn các bạn đã luôn ủng hộ và theo dõi chúng tôi. Hẹn gặp lại các bạn ở những bài viết tiếp theo nhé!

Microsoft Office -