hackermutrang

New Member
Nếu dùng Excel để lập phiếu thu trước cho khách hàng, bạn sẽ cần ghi số trước bằng chữ. Để khỏi mất công ghi “bằng tay”, ta hãy làm ra (tạo) một hàm trong Excel “chuyên trị” chuyện này. Cách làm như sau:

1. Khởi động Excel, làm ra (tạo) một workbook mới (hay dùng Book1 như mặc định). Chọn Tools\ Macro\ Visual Basic Editor để mở cửa sổ soạn thảo VBA. Trong cửa sổ Project Explorer (nếu bất thấy thì chọn View\ Project Explorer để mở nó), chọn VBAProject (Book1). Chọn Insert\ Module để thêm một module vào workbook.
2. Gõ nội dung hàm đổi số ra chữ SoRaChu(N) như đoạn ngựa 1 vào module mới tạo.
Đoạn mã 1
Code:
Function SoRaChu(ByVal NumCurrency As Currency) As String
If NumCurrency = 0 Then
SoRaChu = "Không đồng"
Exit Function
End If
If NumCurrency > 922337203685477# Then ' Số lớn nhất của loại CURRENCY
SoRaChu = "Không đổi được số lớn hơn 922,337,203,685,477"
Exit Function
End If
Static CharVND(9) As String, BangChu As String, I As Integer
Dim SoLe, SoDoi As Integer, PhanChan, Ten As String
Dim DonViTien As String, DonViLe As String
Dim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As Integer
Dim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As Integer

DonViTien = "đồng" ‘ Bạn có thể thay đơn vị tiền tệ khác ở đây
DonViLe = "xu"

CharVND(1) = "một"
CharVND(2) = "hai"
CharVND(3) = "ba"
CharVND(4) = "bốn"
CharVND(5) = "năm"
CharVND(6) = "sáu"
CharVND(7) = "bảy"
CharVND(8) = "tám"
CharVND(9) = "chín"

SoLe = Int((NumCurrency - Int(NumCurrency)) * 100) '2 kí số lẻ
PhanChan = Trim$(Str$(Int(NumCurrency)))
PhanChan = Space(15 - Len(PhanChan)) + PhanChan

NganTy = Val(Left(PhanChan, 3))
Ty = Val(Mid$(PhanChan, 4, 3))
Trieu = Val(Mid$(PhanChan, 7, 3))
Ngan = Val(Mid$(PhanChan, 10, 3))
Dong = Val(Mid$(PhanChan, 13, 3))
If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then
BangChu = "không " + DonViTien + " "
I = 5
Else
BangChu = ""
I = 0
End If
While I <= 5
Select Case I
Case 0
SoDoi = NganTy
Ten = "ngàn tỷ"
Case 1
SoDoi = Ty
Ten = "tỷ"
Case 2
SoDoi = Trieu
Ten = "triệu"
Case 3
SoDoi = Ngan
Ten = "ngàn"
Case 4
SoDoi = Dong
Ten = DonViTien
Case 5
SoDoi = SoLe
Ten = DonViLe
End Select
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
BangChu = Trim(BangChu) + IIf(Len(BangChu) = 0, "", ", ") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + " trăm ", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
BangChu = BangChu + "lẻ "
Else
If Muoi <> 0 Then
BangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + " mươi ", "mười ")
End If
End If

If Muoi <> 0 And DonVi = 5 Then
BangChu = BangChu + "lăm " + Ten + " "
Else
If Muoi > 1 And DonVi = 1 Then
BangChu = BangChu + "mốt " + Ten + " "
Else
BangChu = BangChu+IIf(DonVi <> 0,Trim(CharVND(DonVi))+" "+Ten+" ", Ten + " ")
End If
End If
Else
BangChu = BangChu + IIf(I = 4, DonViTien + " ", "")
End If
I = I + 1
Wend
If SoLe = 0 Then
BangChu = BangChu + "chẵn"
End If
Mid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))
SoRaChu = BangChu
End Function
Bạn để ý, hàm SoRaChu có phân biệt cách đọc số 1 (một hay mốt), 5 (năm hay lăm), mươi hay mười và chỉ đổi số có trị lớn nhất là 922,337, 203, 685, 477. Các chữ Việt có dấu trong đoạn ngựa 1 có ngựa Unicode.
3. Chuyển sang cửa sổ Excel để kiểm tra hàm bằng cách thử gõ vào ô bất kỳ, ví dụ: =SoRaChu(922337203,34). Nếu êm xuôi thì chuyển sang bước kế tiếp.
4. Mô tả hàm để chọn chính xác tên hàm khi bạn sử dụng công cụ Past Function. Trong cửa sổ Excel, chọn menu Tools\ Macro\ Macros để hiển thị hộp thoại Macro. Gõ tên hàm SoRaChu vào ô Macro name, rồi bấm Options để mở tiếp hộp thoại Macro Options, gõ nội dung mô tả hàm vào ô Description, bấm OK để đóng hộp thoại Macro Options, cuối cùng bấm Cancel để đóng hộp thoại Macro.
5. Ghi workbook lên đĩa thành tập tin TienBac.XLA (ví dụ). Bạn phải đặt tập tin này đúng chỗ để mỗi lần Excel khởi động sẽ nạp nó tự động.
Đối với Excel XP trên Windows XP:
C:\Documents and Settings\UserName\Application Data\Microsoft\AddIns
Đối với Excel 2000 trên Windows 98:
C:\Windows\Application Data\Microsoft\AddIns
Đối với Excel 97 trên Windows 98:
C:\Program Files\Microsoft Office\Office\Library
Đóng Excel mà bất cần ghi lại các thay đổi trên Book1.
6. Dùng Windows Explorer để thêm mô tả cho add-in bằng cách bấm chuột phải trên tên tập tin TienBac.XLA, chọn mục Properties để mở hộp thoại Properties, chọn thẻ Summary để gõ mô tả vào ô Comments, gõ tên của add-in vào ô Title. Chọn nút OK để chấp nhận các thông tin vừa nêu.
7. Khởi động lại Excel, cài đặt add-in vừa làm ra (tạo) cho Excel bằng cách chọn trình đơn Tools\ Add-Ins để mở hộp thoại Add-Ins, chọn tên add-in của ta trong danh sách Add-Ins available, rồi bấm OK.
Từ đây trở về sau, mỗi lần mở Excel, bạn đương nhiên dùng được hàm SoRaChu trong add-in TienBac.XLA.


Theo Echip
 

phung20062007

New Member
Toi lam nhu hướng dẫn laptop ham "SoRaChu" ma van khong duoc. Toi dung Excel2003/winVitra. Lam on giup di!
 

Kiến thức bôn ba

Các chủ đề có liên quan khác
Tạo bởi Tiêu đề Blog Lượt trả lời Ngày
D Hướng dẫn đổi số điện thoại cho Google, Facebook Hỏi đáp Tin học 0
T Hướng dẫn đổi mới giờ sinh hoạt lớp chủ nhiệm Luận văn Sư phạm 0
V Xây dựng hệ thống bài tập và hướng dẫn hoạt động giải bài tập chương định luật cơ bản của dòng điện không đổi nhằm bồi dưỡng học sinh giỏi chuyên Vật lý Luận văn Sư phạm 0
T xin cao thủ hướng dẫn khắc phục làm sao để nối 2 file khi đã vô tình đổi chúng sang file iso Hỏi đáp Tin học 9
L Phân tích nguyên nhân dẫn đến sự không thành công của các Bản kế hoạch phát triển của Việt Nam. Hãy lý giải sự cần thiết phải đổi mới công tác kế hoạch hoá và định hướng của Việt Nam Luận văn Kinh tế 0
T Thông tư 55 đưa ra hướng dẫn quy đổi đơn vị tiền tệ báo cáo . Nếu một doanh nghiệp đang báo cáo theo Hỏi đáp Thuế & Kế toán 1
T Hiện này Bộ Tài chính ra Thông tư 30 sửa đổi, bổ sung Thông tư 32 hướng dẫn thi hành Luật thuế GTGT, Hỏi đáp Thuế & Kế toán 1
H Ngày 31/12/2009, BTC đã ban hành Thông tư 244/2009/TC-BTC hướng dẫn sửa đổi, bổ sung chế độ kế toán Hỏi đáp Thuế & Kế toán 1
S (Ngày 11/02/2010) Hướng dẫn sửa đổi, bổ sung chế độ kế toán doanh nghiệp như thế nào? Hỏi đáp Thuế & Kế toán 1
G HƯỚNG DẪN XỬ LÝ TÀI CHÍNH KHI CHUYỂN ĐỔI CÔNG TY NHÀ NƯỚC THÀNH CÔNG TY TRÁCH NHIỆM HỮU HẠN MỘT THÀN Hỏi đáp Thuế & Kế toán 0

Các chủ đề có liên quan khác

Top