Đổi số ra chữ trong excel

8
Đổi số ra chữ trong Excel Nếu dùng Excel để lập phiếu thu tiền cho khách hàng, bạn sẽ cần ghi số tiền bằng chữ. Để khỏi mất công ghi “bằng tay”, ta hãy tạo một hàm trong Excel “chuyên trị” việc này. Cách làm như sau: 1. Khởi động Excel, tạo một workbook mới (hoặc 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 không 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 mã 1 vào module mới tạo. Đoạn mã 1 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

Upload: tinh-nguyen

Post on 17-Oct-2014

84 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Đổi số ra chữ trong Excel

Đổi số ra chữ trong Excel

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

1. Khởi động Excel, tạo một workbook mới (hoặc 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 không 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 mã 1 vào module mới tạo.

Đoạn mã 1

Function SoRaChu(ByVal NumCurrency As Currency) As StringIf NumCurrency = 0 ThenSoRaChu = "Không đồng"Exit FunctionEnd IfIf NumCurrency > 922337203685477# Then ' Số lớn nhất của loại CURRENCYSoRaChu = "Không đổi được số lớn hơn 922,337,203,685,477"Exit FunctionEnd IfStatic CharVND(9) As String, BangChu As String, I As IntegerDim SoLe, SoDoi As Integer, PhanChan, Ten As StringDim DonViTien As String, DonViLe As StringDim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As IntegerDim 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 ở đâyDonViLe = "xu"

CharVND(1) = "một"CharVND(2) = "hai"

Page 2: Đổi số ra chữ trong Excel

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 ThenBangChu = "không " + DonViTien + " "I = 5ElseBangChu = ""I = 0End IfWhile I <= 5Select Case ICase 0SoDoi = NganTyTen = "ngàn tỷ"Case 1SoDoi = TyTen = "tỷ"Case 2SoDoi = TrieuTen = "triệu"Case 3SoDoi = NganTen = "ngàn"

Page 3: Đổi số ra chữ trong Excel

Case 4SoDoi = DongTen = DonViTienCase 5SoDoi = SoLeTen = DonViLeEnd SelectIf SoDoi <> 0 ThenTram = Int(SoDoi / 100)Muoi = Int((SoDoi - Tram * 100) / 10)DonVi = (SoDoi - Tram * 100) - Muoi * 10BangChu = Trim(BangChu) + IIf(Len(BangChu) = 0, "", ", ") + _IIf(Tram <> 0, Trim(CharVND(Tram)) + " trăm ", "")If Muoi = 0 And Tram <> 0 And DonVi <> 0 ThenBangChu = BangChu + "lẻ "ElseIf Muoi <> 0 ThenBangChu = BangChu + IIf(Muoi <> 0 And Muoi <> 1, _Trim(CharVND(Muoi)) + " mươi ", "mười ")End IfEnd If

If Muoi <> 0 And DonVi = 5 ThenBangChu = BangChu + "lăm " + Ten + " "ElseIf Muoi > 1 And DonVi = 1 ThenBangChu = BangChu + "mốt " + Ten + " "ElseBangChu = BangChu+IIf(DonVi <> 0,Trim(CharVND(DonVi))+" "+Ten+" ", Ten + " ")End IfEnd IfElseBangChu = BangChu + IIf(I = 4, DonViTien + " ", "")End IfI = I + 1WendIf SoLe = 0 Then

Page 4: Đổi số ra chữ trong Excel

BangChu = BangChu + "chẵn"End IfMid$(BangChu, 1, 1) = UCase$(Mid$(BangChu, 1, 1))SoRaChu = BangChuEnd 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 mã 1 có mã 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à không 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 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.

Page 5: Đổi số ra chữ trong Excel

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

Trên đây là hướng dẫn chi tiết, hiện chúng tôi đã có bản addin soạn sẵn để cài vào phần mềm EXCEL,quý vị có nhu cầu cài đặt addins "Đổi số thành chữ trong excel", xin liên hệ qua địa chỉ [email protected] hoặc [email protected] để được hướng dẫn cụ thểTrân trọng ! Chuyển lên trên

admin Đã gởi: Thursday, May 05, 2011 1:15:01 PM

Danh hiệu: AdministrationNhóm: Administration

Gia nhập: 9/17/2009Bài viết: 277Điểm: -1,150(tiếp theo)

sử dụng add-ins sẵn có để đổi số thành chữ :

copy thư mục "doisothanhchu" vào máy tính

Mở phần mềm EXCEL, chọn Tools/Add-insMột cửa sổ sau hiện ra:

Page 6: Đổi số ra chữ trong Excel

Bạn chọn Browse và chỉ đường dẫn đến thư mục chứa đổi số thành chữTrong thư mục đổi số thành chữ , chọn Acchelper.xll rồi ấn OKTiếp tục lặp lại Tools/Add-ins/Browse , chọn AcchelperEx.xla rồi ấn OK lần nữa

Page 7: Đổi số ra chữ trong Excel

Khi đó sẽ xuất hiện 1 cửa sổ , bạn chọn OK để hoàn tất quá trình

Khởi động lại EXCEL và chọn hàm với cấu trúc:+ Đổi số ra VND : =VND(tọa độ ô số)+Đổi số ra USD: =USD(tọa độ ô số)ấn Enter để hoàn tất phép tính , ra kết quả