Trang chủ » Tin học văn phòng » Chuyển số tiền thành chữ trong excel

Chuyển số tiền thành chữ trong excel

1558 Lượt xem

Excel không quá xa lạ với mọi người đặc biệt là người dùng văn phòng. Tuy nhiên excel không đơn giản như bạn nghĩ. Thực chất là ta làm việc với những thứ cơ bản nhất của excel. Cụ thể là việc thao tác với bảng tính trong excel hoặc tính toán dữ liệu với hàm. Bài viết này giới thiệu với bạn chức năng nâng cao của excel đó là chuyển số tiền thành chữ trong excel. Điều tưởng chừng là không thể làm được trong excel

Chuyển số tiền thành chữ trong excel là như thế nào?

Khi làm việc với giấy tờ ta thường bắt gặp một vài trường hợp trong mẫu hóa đơn ghi thành tiền và bên dưới ghi chữ. Ví dụ 150000 đ là số tiền bằng số, và bên dưới ghi thành chữ là một trăm năm mươi nghìn đồng. Không lẽ người nhập số liệu nhập bằng tay. Không hoàn toàn như vậy vì đã có chương trình phục vụ chuyển số tiền thành chữ. Và trong bài viết này mình sẽ hướng dẫn bạn tạo file excel có chức năng đó.

Thao tác tạo file excel có chức năng chuyển số tiền thành chữ

Để tạo file excel có chức năng chuyển số tiền thành chữ ta phải thao tác viết hàm cho file excel đó. Bạn đừng quá hốt hoảng hay ngạc nhiên khi nghe tới viết hàm. Thực ra mình đã viết sẵn bạn chỉ cần thêm vào trong excel là xong. Và file excel đó hoàn toàn có khả năngchuyển số tiền thành chữ cho bạn.

Bước 1: Mở tập tin excel cần thêm chức năng chuyển số tiền thành chữ sau đó nhấn tổ hợp phím tắt trong excel là Alt + F11 để mở trình soạn thảo VBA của Excel. Trình soạn thảo VBA là nơi thao tác nâng cao trong excel hay còn là ứng dụng mở rộng của Microsoft Visual Basic cho ứng dụng của office.

Bước 2: Nhấp chuột phải lên vùng làm việc VBA Project tiếp tục chọn Insert sau đó chọn tiếp Module và dán đoạn mã bên dưới vào cửa sổ của Module hiện rạ sau khi thực hiện thao tác trên.

'CHUONG TRINH CHUYEN DOI TIEN TE VIET BOI HTTP://IHAY.NET'
Function TIENTE(ByVal MyNumber)
Dim Temp
Dim VND
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Nghin "
Place(3) = " Trieu "
Place(4) = " Ty "
Place(5) = " Ngan Ty "
' Convert MyNumber to a string, trimming extra spaces.
MyNumber = Trim(Str(MyNumber))
' Find decimal place.
DecimalPlace = InStr(MyNumber, ".")
' If we find decimal place…
If DecimalPlace > 0 Then
' Convert cents
Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)
Cents = ConvertTens(Temp)
' Strip off cents from remainder to convert.
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
' Convert last 3 digits of MyNumber to English VND.
Temp = ConvertHundreds(Right(MyNumber, 3))
If Temp <> "" Then VND = Temp & Place(Count) & VND
If Len(MyNumber) > 3 Then
' Remove last 3 converted digits from MyNumber.
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
' Clean up VND.
Select Case VND
Case ""
VND = "Khong Nghin"
Case "One"
VND = "Mot Nghin"
Case Else
VND = VND & " Dong"
End Select
TIENTE = VND
End Function
Private Function ConvertHundreds(ByVal MyNumber)
Dim Result As String
' Exit if there is nothing to convert.
If Val(MyNumber) = 0 Then Exit Function
' Append leading zeros to number.
MyNumber = Right("000" & MyNumber, 3)
' Do we have a hundreds place digit to convert?
If Left(MyNumber, 1) <> "0" Then
Result = ConvertDigit(Left(MyNumber, 1)) & " Tram "
End If
' Do we have a tens place digit to convert?
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & ConvertTens(Mid(MyNumber, 2))
Else
' If not, then convert the ones place digit.
Result = Result & ConvertDigit(Mid(MyNumber, 3))
End If
ConvertHundreds = Trim(Result)
End Function
Private Function ConvertTens(ByVal MyTens)
Dim Result As String
' Is value between 10 and 19?
If Val(Left(MyTens, 1)) = 1 Then
Select Case Val(MyTens)
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 Lam"
Case 16: Result = "Moi Sau"
Case 17: Result = "Muoi Bay"
Case 18: Result = "Muoi Tam"
Case 19: Result = "Muoi Chin"
Case Else
End Select
Else
' .. otherwise it’s between 20 and 99.
Select Case Val(Left(MyTens, 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
' Convert ones place digit.
Result = Result & ConvertDigit(Right(MyTens, 1))
End If
ConvertTens = Result
End Function
Private Function ConvertDigit(ByVal MyDigit)
Select Case Val(MyDigit)
Case 1: ConvertDigit = "Mot"
Case 2: ConvertDigit = "Hai"
Case 3: ConvertDigit = "Ba"
Case 4: ConvertDigit = "Bon"
Case 5: ConvertDigit = "Nam"
Case 6: ConvertDigit = "Sau"
Case 7: ConvertDigit = "Bay"
Case 8: ConvertDigit = "Tam"
Case 9: ConvertDigit = "Chin"
Case Else: ConvertDigit = ""
End Select
End Function
'KET THUC CHUONG TRINH CHUYEN DOI TIEN TE'

Bước 3:  Nhấn phím Alt + F11 một lần nữa và nhấn Ctrl + S để lưu lại toàn bộ file excel. Nếu Excel có hiện bất kì thông báo nào khác thì bạn chỉ việc nhấn Yes để đóng thông báo đó lại.

Bước 4: Đến đây bạn có thể sử dụng chương trình chuyển đổi số tiền thành chữ như cách sử dụng hàm bình thường bằng cách thao tác cú pháp =TIENTE( )

Ví dụ: B3 có giá trị là: 108000 thì kết quả =TIENTE(B3) trả về là Mot Trieu Tam Muoi Nghin Dong.

Lời Kết

Với những hướng dẫn trên giúp bạn tạo được file excel có chức năng chuyển số tiền thành chữ. Tuy nhiên với bạn không rành thao tác trên có thể tải đính kèm bên dưới bài file excel mẫu có chức năng chuyển số tiền thành chữ. Nếu bạn có thắc mắc nào về thao tác hay cách sử dụng chương trình chuyển số tiền thành chữ trong excel thì có thể comment dưới bài viết này mình sẽ giải đáp. Và cuối cùng bạn có thể tìm các thủ thuật excel khác tại chuyên mục excel trên blog iHay.Net

Download

Tải file mẫu chuyển số tiền thành chữ trong excel tại đây