Thứ Ba, 16 tháng 2, 2010

Chuyển số sang chữ trong Excel

Bạn đọc lưu ý:
+Không hỏi sự cố bằng cách nhắn tin qua điện thoại.
+Tác giả đã hoàn thành CD tổng hợp các thủ thuật về xử lý các sự cố trên máy tính, nội dung CD phong phú, bài viết có minh họa chi tiết giá 60.000đ/1 CD, xin giới thiệu cùng bạn đọc, liên hệ theo Email hoặc điện thoại trên Blog

1-Cách chuyển số sang chữ trong Excel
Khi làm hóa đơn trong Excel ở mục tổng số tiền ngoài số tiền còn có mục Viết bằng chữ, nếu gõ hoặc viết bằng tay sẽ rất mất việc, để làm việc này bạn hãy viết một hàm để Excel tự điền chữ vào cho bạn.
Giả sử bạn có một bảng tính như dưới đây:


+Số tiền 6500 đ đã hiển thị trong ô E7.
+Muốn số tiền viết bằng chữ: Sáu ngàn năm trăm đồng hiện trong ô C8 bạn làm theo hướng dẫn sau:
-Nháy vào Tools chọn Macro \ Visual Basic Editor.
-Nháy vào Insert chọn Module.


+Nháy vào mục Module1 trong khung bên trái.


+Tại khung bên phải dán đoạn mã dưới đây vào, nháy nút Save để ghi lại.
Function DocTien(Amt)
Amt = Round(Amt, 0)
If Amt = 0 Then
Resp = "Khoâng ñoàng"
Else
If Abs(so) > 999999999999.99 Then
Resp = "Soá quaù lôùn"
Else
If Amt < 0 Then
Resp = "Tröø "
Else
Resp = Space(0)
End If
Tien = Format(Abs(Amt), "###########0.00")
Tien = Right(Space(12) + Tien, 15)
Doc = Space(0): Dem = Doc
Doc = Doc + "traêm möôi tyû "
Doc = Doc + "traêm möôi trieäu"
Doc = Doc + "traêm möôi ngaøn "
Doc = Doc + "traêm möôi ñoàng "
Dem = Dem + "moät hai ba boán naêm "
Dem = Dem + "saùu baûy taùm chín "
For I = 1 To 5
NHOM = Mid(Tien, I * 3 - 2, 3)
If NHOM <> Space(3) Then
Select Case NHOM
Case "000"
If I = 4 Then
Chu = "ñoàng "
Else
Chu = Space(0)
End If
Case ".00"
Chu = "chaün"
Case Else
SO1 = Left(NHOM, 1)
So2 = Mid(NHOM, 2, 1)
So3 = Right(NHOM, 1)
Chu = Space(0)
For J = 1 To 3
Dich = Space(0)
S = Val(Mid(NHOM, J, 1))
If S > 0 Then
Dich = Trim(Mid(Dem, S * 5 - 4, 5)) + " " + Trim(Mid(Doc, (I - 1) * 18 + J * 6 - 5, 6)) + " "
End If
Select Case J
Case 2 And S = 1
Dich = "möôøi "
Case 3 And S = 0 And NHOM <> Space(2) + "0"
Dich = Trim(Mid(Doc, (I - 1) * 18 + J * 6 - 5, 6)) + Space(1)
Case 3 And S = 5 And So2 <> Space(1) And So2 <> "0"
Dich = "l" + Mid(Dich, 2)
Case 2 And S = 0 And So3 <> "0"
If (SO1 >= "1" And SO1 <= "9") Or (SO1 = "0" And I = 4) Then
Dich = "leû "
End If
End Select
Chu = Chu + Dich
Next J
End Select
Vitri = InStr(1, Chu, "möôi moät", 1)
If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát"
Resp = Resp + Chu
End If
Next I
End If
End If
DocTien = UCase(Left(Resp, 1)) + Mid(Resp, 2)
End Function


Chú ý: Tại ô hiện chữ C8 nhập công thức =doctien(Tọa độ ô số cần đọc)
+Nếu chưa hiện tiếng Việt nháy vào ô hiện chữ C8 và chọn phông VNI-Helve sẽ hiện đầy đủ tiếng Việt. Bạn cần kích hoạt Macro của Excel bằng cách nháy vào Tools \ Macro \ Security chọn nhãn 1 Security Level đánh dấu vào mục Low (not recommended)… bấm OK.

0 nhận xét:

Đăng nhận xét

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites