XLL Add-In Đổi số thành chữ - Tốc độ nhanh tối đa, nhanh hơn 80% các Addins khác (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,854
Được thích
10,345
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
XLL Add-In Đọc số thành chữ - Tốc độ nhanh tối đa, nhanh hơn 80% các Add-ins khác

Excel XLL Add-In Accounting Helper (AccHelper.xll)


FuncArgs.jpg


VIDEO HƯỚNG DẪN CÀI ĐẶT "ĐỌC SỐ THÀNH CHỮ ACCHELPER"

(*) Excel Add-In XLL Accounting Helper (AccHelper.xll) được lập trình bằng ngôn ngữ Delphi, đảm bảo tốc độ tính toán nhanh tối đa, tiết kiệm tài nguyên máy, bản thân Add-In được biên dịch ra mã máy (DLL) nên không bị các phần mềm diệt virus như BKAV làm hỏng.

(*) Chức năng của Accounting Helper:
+ Cung cấp các hàm đọc số thành chữ bằng tiếng Anh, Việt bởi các loại font chữ TCVN3 (ABC), VNI, UNICODE. Các hàm: VND(), USD(), Num2Str().
+ Cung cấp hàm chuyển đổi font chữ từ TCVN3, VNI sang UNICODE. Hàm ToUNC().

(*) Các file trong bộ Add-In:
1 - AccHelper.xll (Cài file này đầu tiên. Nếu Office từ 2007 trở lên thì chỉ cần một file này. Font chữ ngầm định là Unicode. Các hàm: VND, USD, ToUNC)
2 - AccHelperEx.xla (chỉ dùng cho từ Excel 2003 trở về trước để hỗ trợ Unicode hoặc để đọc các con số trên 15 chữ số. Add-in này cung cấp các hàm: VNDW, USDW, ToUNCW)
3 - AccHelper.ini (lưu các tham số ngầm định của các hàm, có thể mở và sửa lại cho như ý!)
4 - Help.xls (Hướng dẫn sử dụng các hàm).

(*) Nếu máy bạn đã đang cài một Add-In đọc số nào đó có sử dụng tên hàm: VND, USD thì hãy gỡ bỏ nó trước khi cài AccHelper.xll.
(*) Nếu bạn đã cài Add-In "Accounting Helper" trước, bạn có thể copy đè lên file cũ (AccHelper.xll, AccHelperEx.xla).

(*) Cài đặt Add-in trong Excel2007, 2010, 2013, 2016 (32 và 64-bit) hoặc cao hơn:
+ Bấm vào nút "Office Button" (nút to, tròn ở góc đỉnh bên trái màn hình)
+ Chọn "Excel Options"
+ Chọn "Add-Ins", màn hình phía bên phải, dưới đáy "Manage:" chọn "Excel Add-Ins" cuối cùng chọn "Go".
+ Tại màn hình "Add-Ins" bạn làm như với Excel2003 trở về trước. Bấm chọn "Browse" và chọn file "AccHelper.xll" (Chỉ một file này là đủ).
+ Nếu Office của bạn là 64 bit, hãy chọn file theo đường dẫn "x64\AccHelper.xll"
Ví dụ:
=VND(1000) trả về font UNICODE là ngầm định.

(*) Cài đặt Add-in trong Excel97/2000/2002(XP)/2003:
+ Vào menu Tools, chọn Add-Ins, "Add"/Thêm 2 tập tin
+ Chọn nút "Browse" và chọn file "AccHelper.xll", làm tương tượng lần nữa để cài "AccHelperEx.xla" (để đọc font unicode, hoặc để đọc các con số trên 15 chữ số.)

Ví dụ:
=VND(1000) trả về font TCVN3(ABC) là ngầm định. Muốn unicode thì công thức phải là
=VNDW(1000) hoặc

------------NẾU CÀI KHÔNG ĐƯỢC-----------------------------------------------------------------------------------
(*) Nếu các bước cài đặt trên vẫn không được, bạn hãy copy các file và đường dẫn dưới đây:
1. Các file cần copy:
+ "AccHelper.xll"
+ "x64\AccHelper.xll" - Nếu Office 64-bit.
+ "AccHelperEx.xla" Chỉ cần nếu cần dùng hàm VNDW, USDW để đọc các con số trên 15 chữ số.
2. Đường dẫn đặt file copy (Paste)
(Làm nhanh: Mở My Computer, dán đường dẫn dưới đây vào thanh địa chỉ rồi Enter)
+ Với Windows XP: C:\Documents and Settings\%username%\Application Data\Microsoft\AddIns
+ Với Windows Vista hoặc cao hơn: C:\Users\%username%\AppData\Roaming\Microsoft\AddIns

(*) Để thay đổi những thông số được thiết lập ngầm định cho các hàm cũng như cách đọc số của các hàm, bạn chạy file "AccHelperOptions.exe".

(*) Để tìm đọc hướng dẫn chi tiết và các ví dụ, bạn hãy mở file "Help.xls"

Cấu trúc của hàm VND là:


Mã:
[B]VND[/B](Amount, OutputType, Unit1, Unit2, MUnit2, HasGroupingSymbol)             
     
    Amount:     là số tiền cần chuyển đổi thành văn bản.     
    OutputType:    là một số, nếu giá trị là 1 hàm trả về kiểu chuỗi TCVN3, 2 kiểu chuỗi là VNI, 3 kiểu chuỗi là Unicode - ngầm định (Chỉ dùng từ Excel 2007 trở lên)     
    Unit1:    là giá trị kiểu chuỗi, chỉ ra loại đơn vị tiền tệ, ngầm định là "đồng"     
    [COLOR="#FF0000"]Unit2[/COLOR]:    là giá trị kiểu chuỗi, chỉ ra loại đơn vị tiền tệ cho số lẻ, ngầm định là "xu"     
    [COLOR="#FF0000"]MUnit2[/COLOR]:    là con số được nhân với số lẻ của Amount, quy đổi số lẻ từ đơn vị Unit1 sang Unit2, ngầm định giá trị là 1     
    HasGroupingSymbol    là giá trị kiểu logic(boolean), nếu là TRUE thì chuỗi kết quả sẽ có dấu phảy (, ) ngăn cách câu, FALSE là giá trị ngầm định không có dấu (, ) ngăn cách.


Ví dụ:
=VND(12.5,,"đồng","hào",10)
Đọc là "Mười hai đồng và năm hào."

Cách dùng (đơn giản) trong Sheet:
=VND(1000000)

=VND(1000000) kết quả là chuỗi TCVN3 (Nếu Excel 2003 trở về trước)
=VND(1000000) kết quả là chuỗi Unicode (Nếu từ Excel 2007 trở lên)


=VND(1000000,2) kết quả là chuỗi VNI
=VND(1000000,3) kết quả là chuỗi Unicode

=USD(1000000) kết quả là chuỗi đọc số tiếng Anh

Để biết được nó tối ưu như thế nào, bạn vào công thức tại ô A1
=VND(1000000) copy cho tất cả các dòng trong một cột (65536 dòng)

Bạn cũng làm vậy với hàm đổi số thành chữ của các add-ins khác bạn sẽ thấy sự khác nhau về tốc độ!

Các bạn đọc thêm hướng dẫn tại file Help.xls hoặc tại đường link dưới đây:

File "Cach_doc_ khac.zip" là các ví dụ về các cách đọc số thành chữ bằng hai thứ tiếng Anh và Việt. Nếu trong thực tế phát sinh cách đọc khác, các bạn có thể đề đạt tại topic này, tôi sẽ cố gắng thực hiện trong khả năng có thể.

AcchelperOpt.jpg

Download Accounting Helper v3.1.0 (phiên bản mới nhất, ngày 22/03/2018)
 

File đính kèm

Lần chỉnh sửa cuối:
Quả thật, tốc độ mark III luôn. Trên cả tuyệt vời. Xin cảm ơn
Tốc độ này đến từ file .xll or đến từ giải thuật ngắn gọn hơn vậy bạn?
Bạn có thể bật mí một tí về cách tạo cái loại file .xll này được không?
Mình rất nôn nóng về cái này "before dead", bạn nhé
 
Qủa thực là nhanh thật. Bật mí đi A Tuân ơi.
 
Bản chất trong file Excel.exe có chứa file Excel.Xll. Tất cả các hàm Sum, SumIf, Vlookup,...nằm trong file Excel.Xll.

Xll bản chất là Dll (được dịch ra mã máy). Tạo ra file này phải làm trong C/C++ hoặc Delphi.

Một hàm chạy nhanh còn phụ thuộc vào thuật toán nữa. Hàm SoThanhChu chạy nhanh thuật toán chỉ là phần nhỏ, lý do chính là vì nó nằm trong file Xll.

Mình đưa ra để các bạn biết hơn nữa về Excel và có sự so sánh về công nghệ.

Lập trình trong VBA tốc độ ứng dụng đạt 100% thì:
VB là 190% chậm hơn (+90%)
C/C++/Delphi là 40% nhanh hơn (-60%).
 
Vậy thì bó tay rồi. Đành ngồi chờ sung rụng vậy thôi. hu hu...
 
Có một ý kiến, bạn có thể đặt tên hàm "SoThanhChu" ngắn lại không, dài quá hơi bất tiện mà thao tác type cũng mất thời gian. VD có thể đổi là DocSo() !?
Thanks!
 
Đúng là ý tưởng thì rất hay nhưng bạn viết có vẻ ko trau truốt lắm, biểu diễn nhiều hơn là ứng dụng, về lỗi thế nào các bạn khác cho ý kiến thêm nhé.
Nhân đây cho mình hỏi thêm là các hàm viết trong VBA có thể có tham số ngầm định - khi không đưa vào thì tự hiểu , chẳng hạn như là hàm đổi số sang chữ có tên là =VND(tham số 1, tham số 2)

Thì tham số 1 bắt buộc phải tham chiếu rồi, còn tham số 2 thì khi không có: nghĩa là dùng font UNICODE, còn nếu không phải nhập vào mã qui ước ví dụ: TCVN là dùng mà tiếng Việt TCVN3, VNI là dùng mã VNI , Unicode là UNI .v....v....
=VND(123,45)
=VND(123,45;TCVN)
 
Public Enum ENU_CHARCODE
cUnicode = 0
cTCVN3 = 1
cVNI = 2
End Enum

Public Function fstNumToWord(byval dblNumber As Double, Optional ByVal eCharCode AS ENU_CHARCODE = cUnicode) As String
'// code here ...
End Function

Nhưng tóm lại toàn là những kỹ thuật nhỏ nhỏ. Mình thấy mọi người để ý quá nhiều đến những vấn đề li ti, tiểu tiết (hàm convert như thế này search 1 cái trên google thì ra cả đống luôn). Trên WKT & giaiphapexcel cũng đã rất nhiều những hàm loại này rồi. Cái quan trọng vẫn là mục tiêu, mục tiêu là đổi số thành chữ (đơn giản vậy thôi)

Cái quan trọng là yêu cầu nghiệp vụ của ứng dụng, thiết kế ứng dụng ra sao, v.v... Mình thấy rất nhiều bạn có những file ứng dụng nhưng cách tạo vẫn còn sơ đẳng hết sức và cách làm thì hoàn toàn sai... nhưng ko ai muốn tham gia các dự án đó cả.

Cũng có thể trên đây mọi người tạm thời chỉ quan tâm đến từng vấn đề cụ thể thôi mà chưa care gì đến những chuyện lớn hơn. Cái Project, 1 phần mục tiêu của giaiphapexcel mà chị Dung đã từng bàn đến chẳng nhẽ lại ko thực hiện được?
 
Lần chỉnh sửa cuối:
TuanVNUNI đã viết:
To Chuotdong: Chỉ có một hàm SoThanhChu(Sotien) trong một file xll làm sao mà bạn lại nói

Bạn làm sao đọc được code!

Xin lỗi nếu có gì làm phật ý bạn. Tôi chỉ muốn nói là nếu bạn cho rằng hàm của mình là hoàn thiện hơn hẳn các hàm khác (ở góc độ Excel tôi là người ứng dụng thuần túy chỉ quan tâm đến điều đó vì tôi ko biết về VBA): cụ thể hơn là hàm của bạn không linh động ko sửa được tên hàm, ko xem được bạn viết có đúng chưa(có thể bạn sẽ hướng dẫn cách convert từ .xla sang .xll), đặt tình huống tôi muốn dùng hàm của bạn một cách nghiêm túc tôi sẽ phải đổi tên hàm cho 1 đống dữ liệu dùng với tên hàm đổi số sang chữ tôi đã dùng rồi (bạn bắt tôi phải đổi lại hết chỉ để ứng dụng hàm của bạn ?), cũng với ý đó tôi mong bạn cải tiến với việc linh động trong việc sử dụng font chữ tiếng Việt như đã góp ý trên. Làm cả hàm chuyển bằng tiêng Anh nữa càng tốt.

 
Lần chỉnh sửa cuối:
Dear Chuotdong,
----------------
Góp ý của bạn rất xác đáng, tuy nhiên chủ đề này chúng ta bàn về:
AddIns Đổi số thành chữ - Tốc độ nhanh tối đa, nhanh hơn 80% các Addins khác
chứ không phải là vấn đề ứng dụng của hàm. Nói cách khác tác giả muốn so sánh về mặt công nghệ hơn là nói về giải thuật và phát triển ứng dụng. Lẽ ra kèm theo tập tin Ketoan.xll, anh TuanVNUNI nên cung cấp mã nguồn để các bạn so sánh trên VBA thì mới chính xác được, chứ nếu so với các Add-Ins khác (là Add-Ins nào!?) chúng ta cần bàn đến vấn đề giải thuật nữa.
Tuy nhiên, theo em hiểu thì chúng ta không thể "nhúng" trực tiếp mã nguồn của chương trình này vào VBA Project được vì có sự khác biệt về ngôn ngữ phát triển(?).
 
Chỉnh sửa lần cuối bởi điều hành viên:
Có bao giờ chúng ta bảo tôi muốn dùng hàm VLookup nhưng muốn đổi tên là "Timkiem" không?
Tất cả các AddIns khi đã biên dịch thành DLL,XLL thì miễn bàn đến vì nó đã là ngôn ngữ máy rồi, còn dạng XLA thì chỉ khi tác giả cho Pass VBA thì mới sửa được tên hàm.

Trong file Excel của các bạn hàm đọc số thành chữ dùng không nhiều (nó chỉ trong các chứng từ, sổ, báo cáo là chính) nên việc chọn hàm này hay hàm khác có thể không đáng quan tâm. Nhưng nếu bạn dùng các hàm để tính toán nhiều, dùng nhiều thì nên chọn AddIns dạng XLL để đảm bảo tốc độ của ứng dụng.
(Thuật toán như nhau, tốc độ các hàm trong AddIns XLL nhanh hơn trong VBA rất nhiều ~+60%)
Mục đích tôi đưa file Ketoan.XLL để các bạn biết là các chuyên gia MS Excel phải làm như vậy để tạo ra các hàm Excel cho người dùng. Các AddIns của Microsoft gần như đều phải làm như vậy Solver, ODBC,...

Học để làm AddIns XLL, nếu bạn nào biết ngôn ngữ C/C++/Delphi có thể thể trao đổi cùng tôi.
 
le cuong đã viết:
... con noi ve toc do thi minh khong biet ban quan niem the nao la nhanh chu minh thay cu enter la no ra lien ha...

Bạn copy công thức đó cho khoảng 60000 dòng xem thế nào?
Nói chung chỉ những ai dùng Excel quản lý dữ liệu lớn, phải chờ Calculation ở Statubar từ 0-100% khoảng vài phút thì mới biết tiết kiệm tài nguyên của Excel.

Có 2 người, tạo ra 2 file Excel cùng có cùng size là 10 MB, nhưng một file thì chạy vù vù, còn một file thì phải đợi hút xong điếu thuốc đã. Cái đó là do chúng ta biết tiết kiệm từng byte của bộ nhớ trong Excel.
 
TuanVNUNI đã viết:
Học để làm AddIns XLL, nếu bạn nào biết ngôn ngữ C/C++/Delphi có thể thể trao đổi cùng tôi.
Excel thì còn biết chút chút, C/C++/Delphi thì mù. Bạn có thể giới thiệu cho anh em thấy mối quan hệ giữa C/C++/Delphi và Excel để anh em học hỏi.
 
Anh TuấnVNUNI ơi, tôi là thành viên mới.Tôi thấy hàm sothanhchu của anh rất hay nhưng không xem được code của anh được,anh chỉ tôi với.Anh có thể dùng font Unicode được không?mắc công phải đổi font qua TCVN quá.
 
Vui lòng cho hỏi thêm, Add in này chạy trong Excel 2007 được không.
Tôi thử trong Excel 2007 thì không được. Hướng dẫn thêm nhé
Cám ơn,
 
Cài đặt Addin trong Excel2007

nctri đã viết:
Vui lòng cho hỏi thêm, Add in này chạy trong Excel 2007 được không.
Tôi thử trong Excel 2007 thì không được. Hướng dẫn thêm nhé
Cám ơn,

Làm được trong Excel2007 bạn à.
Cài đặt Addin trong Excel2007:
+ Bấm vào nút "Office Button" (nút to, tròn ở góc đỉnh bên trái màn hình)
+ Chọn "Excel Options"
+ Chọn "Add-Ins", màn hình phía bên phải, dưới đáy "Manage:" chọn "Excel Add-Ins" cuối cùng chọn "Go".
+ Tại màn hình "Add-Ins" bạn làm như với Excel2003 trở về trước. Bấm chọn "Browse" tìm đến file *.xll , * xla....
 
Mình đã làm thế rồi nhưng vẫn không được bạn ạ. Hay có thiết đặt Maco hay có cần đánh dấu nút Add -Ins nào nữa không. Chứ mình cài vào máy ở nhà và cả cơ quan đều không được. Cài xong có cần khởi động lại máy không vậy bạn.
 
hoangdangtiep đã viết:
Mình đã làm thế rồi nhưng vẫn không được bạn ạ. Hay có thiết đặt Maco hay có cần đánh dấu nút Add -Ins nào nữa không. Chứ mình cài vào máy ở nhà và cả cơ quan đều không được. Cài xong có cần khởi động lại máy không vậy bạn.

Sau khi bạn đã thực hiện việc cài AddIns như đã hướng dẫn. Trong cửa sổ "Add-Ins" mục "Trợ giúp kế toán v1.0" phải được tick.

Nếu bạn cài được với các Addins khác mà với Ketoan.xll không được thì mình không biết giải thích thế nào được nữa?
 
Em đã làm như các Bác hướng dẫn nhưng vẫn không được. Có gì các Bác chỉ ra chỗ sai cho em. Sau khi đã làm được như hình đầu em đánh = sothanhchu(100) lập tức xẩy ra hiện tượng như hình 2 (có file gửi kèm). Sau đó thì Add - in ketoan không còn nữa. Em đang dùng Excel 2002.
 

File đính kèm

Lần chỉnh sửa cuối:
Accounting Helper v1.1 - Trợ giúp kế toán trên Excel

Xin giới thiệu mọi người phiên bản mới của loại Add-In này.

AccHelper.xll - "Accounting Helper" v1.1

+ Đã sửa lại hàm SothanhChu
+ Thêm 2 hàm VND và USD, ToUNC, Num2Str
+ Font chữ được chuyển theo 3 dạng VNI, TCVN3, Unicode

Mọi người download tại trang đầu theo đường dẫn dưới đây:
http://www.giaiphapexcel.com/forum/showthread.php?p=6349#post6349

Xem thêm thông tin tại:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm

Hy vọng với phiên bản này mọi người từ nay không còn phải lo nghĩ về vấn đề chuyển số thành chữ nữa.
 
Bác Tuấn chuyển cái hàm sothanhchu sang font unicode đi bác ơi. Em ko khoái sử dụng font tcvn3 lắm. Với lại em thấy mấy chỗ còn chưa chuẩn lắm
Ví dụ: 104225353: đọc là Một trăm linh bốn triệu hai trăm hai mươi lăm nghìn ba trăm ba mươi lăm mới chuẫn.
Bác thêm chữ mươi vào đọc cho nó nuột nà.
Cách đọc số 4 nó tùy vào vị trí của nó đứng ở đâu. Em cũng ko nhớ rõ lắm. Bác đã thương thì thương cho trót vậy nhé. Cám ơn bác nhiều

Bộ AccHelper có hỗ trợ unicode rồi bạn à. Bạn đọc thêm phần này hướng dẫn này:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm

Cách dùng ừ "mươi" tôi sẽ xem xét lại cho phù hợp nhất. Trước đây mình bỏ chữ "mươi" vì thấy đọc dó dài dòng không gọn câu, chỉ dùng chữ "mươi" để đọc với số không như là "hai mươi","ba mươi",...

Cách đọc của số 4 mình nghĩ như thế là đúng rồi. Số 4 nếu đúng cuối nhóm số bao giờ cũng đọc là "tư", trừ số 14 thì phải đọc là "mười bốn" chứ không phải là "mười tư" :).

Cảm ơn bạn đã góp ý.
 
Lần chỉnh sửa cuối:
Đọc tiếng Việt và đơn vị đo là đồng đô la Mỹ

tuknhnvn đã viết:
Cam ơn thành viên TuanVNUNI
e có câu hỏi này mong a TuanVNUNI giúp đỡ, vì e ko biết nhiều về lập trình, chắc nó cũng dựa trên đoạn code của 2 file đấy thôi. Câu hỏi thế này:
- có một ô là 2,568.25 $, xây dựng một hàm để đọc là "Hai nghìn năm trăm sáu tám đôla Mỹ và hai mươi lăm cen"
mong nhận được sự giúp đỡ.

Đã có hàm đọc số thành chử rồi thì từ đó ta có thể "chế" cho nó đọc thành cách khác được mà:
Ví dụ: 1500 nó đọc thành "một nghìn năm trăm đồng chẳn"... vậy ta dùng SUBSTITUTE để thay chử "đồng chẳn" thành "Đô la Mỹ"
vân vân và vân vân... thiếu chi cách
ANH TUẤN

Để đọc tiếng Việt và đơn vị đo là đồng đô la Mỹ, mọi người có thể sử dụng công thức sau:

Giả sử tại ô A1 chứa số tiền là 2,568.25$

Ô B1 đặt công thức

=SUBSTITUTE(VND(INT(A1)),"®ång.","®« la Mü") & " vµ " & LOWER(SUBSTITUTE(VND(ROUND((A1-INT(A1))*100,0)),"®ång.","cent")) & IF(ROUND((A1-INT(A1))*100,0)>1,"s","")

Công thức trên trả về font chữ dạng TCVN3, nếu cần các bạn có thể dùng hàm ToUNC("chuỗi TCVN3") để đổi về Unicode (xem hướng dẫn chi tiết tại trang đầu).
 

File đính kèm

Lần chỉnh sửa cuối:
Cách đọc mới

... đã viết:
Chào bạn Nguyễn Duy Tuân.
Tôi đã sử dụng AddIns Accounting Helper 1.1 của bạn. Rất tuyệt, song có 1 vấn đề là đối với hàm USD, trong công việc tôi không sử dụng cấu trúc chuyển đổi như bạn.
Ví dụ: =USD(123.45) --> "One hundred twenty three dollars and forty five cents." Nhưng tôi thường dùng là: "US dollars One hundred twenty three and cents forty five."
Nếu được, bạn có thể cho tôi AddIns chuyển đổi theo cấu trúc trên!?

Để làm theo cách của bạn, hãy làm theo hướng dẫn của tôi như sau:

Giả sử tại ô A1 có giá trị 123.45

Tại ô B1 đặt công thức:
="US dollar" & IF(INT(A1)>1,"s "," ") & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(USD(A1)," dollar" & IF(INT(A1)>1,"s",""),"")," cents","")," and "," and cent" & IF(ROUND((A1-INT(A1))*100,0)>1,"s "," "))

Để download Addin Accounting Helper các bạn về trang đầu của topic này.
Các cách đọc số thành chữ bằng các thứ tiếng Anh, Việt tôi làm trong file "Cach_doc_ khac.zip" được cập nhật tại trang đầu (khi phát sinh cách đọc mới).
 
Lần chỉnh sửa cuối:
Cám ơn Bạn TuanVNUNI đã nhiệt tình với cộng đồng GPE về vấn đề mà nhiều bạn mới sử dụng EXCEL còn lúng túng và Mình đồng ý với Bạn [FONT=&quot]hai2hai "[/FONT] [FONT=&quot]Cái quan trọng vẫn là mục tiêu, mục tiêu là đổi số thành chữ" .
Mình có ý kiến là để tiện cho các bạn sử dụng hoàn toàn yên tâm nếu Bạn [/FONT]TuanVNUNI có thời gian lập 1 file có ví dụ từ 0 đồng đến hàng ngàn tỷ đồng với các dạng số khác nhau để thử thì tốt quá và mọi người cùng bổ sung các dạng số đã gặp và nghĩ ra, cũng không nhiều dạng lắm đâu.

Các cách đọc mà mọi người thường đề cập là đơn vị đồng tiền đặt ở đầu hay cuối câu mà thôi. Còn đọc sai hay đọc đúng thì mình và nhiều bạn khác đã kiểm nghiệm lâu rồi, bản thân mã nguồn của hàm VND,USD này em đã đang dùng trong phần mềm của mình. Nếu anh còn nghi ngờ về cách đọc thì bạn cứ kiểm tra lại một vài con số xem sao. Nếu có sự sai sót nào bạn đưa lên đây mình sẽ sửa ngay.

Khi kiểm tra thì chỉ có thể làm mẫu một số con số có cách đọc đặc biệt thôi chứ để em kiểm tra từ số 0 đến hàng ngàn tỷ đồng thì chết. Trong sản xuất một lô sản phẩm vài ngàn chiếc, nếu kiểm tra chất lượng mà cũng phải mổ sẻ cả ngàn sản phẩm thì chắc phá sản mất :-=
 
Lần chỉnh sửa cuối:
Accounting Helper v1.2

Xin giới thiệu các bạn thành viên phiên bản mới của Add-In Accounting Helper v1.2 .

Những thay đổi chính:

+ Sửa lại cách đọc của hàm VND, SothanhChu:
Thêm từ "mươi" trong câu đọc với số hàng chục. Ví dụ trước đây đọc số tiền 152 là
"Một trăm năm hai đồng."
Phiên bản mới đọc là
"Một trăm năm mươi hai đồng."

Sửa cách đọc số 1 trong một vài tình huống đặc biệt. Ví dụ trước đây đọc 101 là
"Một trăm linh mốt đồng."
Phiên bản mới đọc là
"Một trăm linh một đồng."

+ Sửa lại cấu trúc của cả 3 hàm SpthanhChu,VND, USD. Thêm một đối số nữa trong các hàm là strCurrency
phiên bản cũ là
VND(Amount,StrOutputType)
USD(Amount)

Phiên bản mới là
VND(Amount,StrOutputType,StrCurrency)
USD(Amount,StrCurrency)

StrCurrency là tham số nhận giá trị kiểu chuỗi, ngầm định là "đồng" với hàm VND, SothanhChu, "dollar" với hàm USD. Bạn có thể thay đổi đơn vị tiền tệ nếu cần.
(Việc thay đổi cấu trúc các hàm trên vẫn đảm bảo tương thích (không gây lỗi) với việc dùng cấu trúc trong hàm của phiên bản cũ.)

+ Sửa lại mã nguồn, tự động nhận dạng ký tự của nhóm số và ký tự ngăn cách của phần thập phân theo hệ điều hành. Phiên bản trước đây, nếu trong Control Panel/Regional Setting/Currency, nếu đặt nhóm số là dấy chẩm (.) và nhóm thập phân là dấu phảy (,) các hàm đọc số thẽ báo lỗi.

Phiên bản v1.2 đã có những thay đổi rất quan trọng về mặt kỹ thuật cũng như đáp ứng về cách đọc mà nhiều bạn thành viên đã góp ý. Tác giả rất mong tiếp tục nhận được sự góp ý để AccHelper hoàn thiện hơn.

Các bạn có thể download theo đường dẫn dưới đây hoặc tại trang đầu:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm
 
Accounting Helper v1.3 ngày 21/05/08. Phiên bản mới!

Xin giới thiệu các bạn thành viên phiên bản mới của Add-In Accounting Helper v1.3.

Những thay đổi chính:

+ Hàm VND, SoThanhChu, Num2Str Cho phép đọc số thành chữ với font Unicode nhưng chỉ với Excel2007 trở lên.
Ví dụ:
=VND(120050) hoặc VND(120050,3)
Kết quả: "Một trăm hai mươi ngàn không trăm năm mươi USD."

3 - là giá trị của đối số OutputType xác định kết quả trả về là Unicode. Ngầm định với Excel2007 hoặc cao hơn, các phiên bản Excel thấp hơn thì giá trị này ngầm định là 1 - kiểu TCVN3(ABC).

+ Thêm đối số thứ tư HasGroupingSymbol kiểu logic, nếu là TRUE hoặc 1 thì chuỗi câu có dấu phảy (,) ngăn cách, nếu FALSE hoặc 0 (giá trị ngầm định) thì không có dấu phảy.

=VND(120050,3,"USD",TRUE) hoặc =VND(120050,,"USD",TRUE)
Kết quả: "Một trăm hai mươi ngàn, không trăm năm mươi USD."

+ Sửa lại cách đọc "không trăm".

(*) Bắt đầu từ phiên bản v1.3 trở lên sẽ hỗ trợ font Unicode (giá trị ngầm định) nhưng chỉ hỗ trợ Unicode cho Excel2007 hoặc cao hơn.
Các phiên bản cũ Excel2000/2002/2003 không hõ trợ font Unicode, nếu người dùng vẫn muốn kết quả là Unicode thì cần cài thêm AccHelperEx.xla (hỗ trợ hàm ToUNC,...)
Ví dụ:
=ToUNC(VND(120050,1),1)

Lý do mà với Excel của các phiên bản 2003 hoặc thấp hơn, Add-In AccHelper.xll không hỗ trợ Unicode vì kiểu giá trị của Excel API không hõ trợ loại font này (không giống với viết trong VBA với Add-In xla).

Với Add-In *.XLL sẽ không bị các phần mềm diệt virus như BKAV làm hỏng, tốc độ tính toán nhanh.

Các bạn có thể download tại trang đầu hoặc theo đường link dưới đây:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm
 
Lần chỉnh sửa cuối:
Bạn ơi cho hỏi tí , Bạn có hàm nào đọc tiền đô rõ như sau ko?
Ví dụ nhé : 150.5 USD : Phải đọc là : Một Trăm năm chục đô la Mỹ năm cent ,.... vì cty em người ta bắt phải dịch rõ ra là Đô La Mỹ , đọc tới cent luôn ....giúp mình với nhé ....người ta ko dùng USD ..
 
Bạn ơi cho hỏi tí , Bạn có hàm nào đọc tiền đô rõ như sau ko?
Ví dụ nhé : 150.5 USD : Phải đọc là : Một Trăm năm chục đô la Mỹ năm cent ,.... vì cty em người ta bắt phải dịch rõ ra là Đô La Mỹ , đọc tới cent luôn ....giúp mình với nhé ....người ta ko dùng USD ..


Giả sử ô A1 có giá trị là 150.50
Công thức để đọc số thành chữ "Một Trăm năm chục đô la Mỹ năm cent" là:

IF(MOD(A1,INT(A1))<>0,SUBSTITUTE(IF(MOD(A1,INT(A1))=0,SUBSTITUTE(SUBSTITUTE(VND(A1),"mươi","chục"),"đồng"," đô la Mỹ"), SUBSTITUTE(SUBSTITUTE(VND(A1),"mươi","chục"),", lẻ"," đô la Mỹ")),"đồng.","cent")&IF(MOD(A1,INT(A1))*100>1,"s.","."),IF(MOD(A1,INT(A1))=0,SUBSTITUTE(SUBSTITUTE(VND(A1),"mươi","chục"),"đồng"," đô la Mỹ"), SUBSTITUTE(SUBSTITUTE(VND(A1),"mươi","chục"),", lẻ"," đô la Mỹ")))
 
Không phải vậy ... Mình muốn có một cái hàm giống như doisothanhchu(...) đó chứ viết như vậy chắc xỉu luôn quá .. vì nó nhập nhiều số khác nhau mà.. nhập số vô là nó thành chữ luôn ..

Giả sử ô A1 có giá trị là USD 150.50
ở ô A2 mình đặt cái hàm là nó đọc ra thành "Một Trăm năm chục đô la Mỹ và năm mươi cent"
Bạn có thể sửa lại mấy cái hàm bạn đã có rồi để cho nó đọc như thế không ?
One hundred fifty and fifty cents.

Mình thấy cái hàm =USD(A1) đọc là : One hundred fifty and fifty cents . Đọc như thế là đúng ... nhưng mình muốn nó đọc tiếng việt ....
Rất mong pro sửa giúp mình nhé .. "Một Trăm năm chục đô la Mỹ và năm mươi cent"
Có chữ "Và" nữa nhé . Bạn làm tên hàm ngắn giống hàm này USD(A1) là tố lắm thank...
Cái công thức bạn viết cho mình ko có chữ "và" , và nó bị không ra tiếng việt nữa...giúp mình với nhé...

thank..
 
Lần chỉnh sửa cuối:
Sao em add vào toàn bị báo lỗi như hình kèm theo. Ai giúp em với????
http://www.zshare.net/image/17066928ba015ede/

Bạn mở Excel, vào menu Tools->Add-Ins kiểm tra xem có loại add-in nào có sử dụng hàm VND, USD thì gỡ bỏ đi (kể cả các file phiên bản cũ của AccHelper), đóng Excel lại rồi tiến hành cài đặt bình thường.

Nếu đã làm theo hướng dẫn trên mà máy bạn vẫn không nhận, bạn hãy copy các file (*.xll,*.xla) vào đường dẫn sau:
C:\Documents and Settings\YOURUSER\Application Data\Microsoft\AddIns

Chúc bạn thành công.
 
Accounting Helper v1.4 ngày 23/08/08. Phiên bản mới!

Xin giới thiệu các bạn thành viên phiên bản mới của Add-In Accounting Helper v1.4.

Những thay đổi chính:

+ Sửa cách đọc "bẩy" thành "bảy".
+ Khắc phục lỗi cài đặt trên một số loại máy.

Các bạn có thể download tại trang đầu hoặc theo đường link dưới đây:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm
 
Accounting Helper v2.0 ngày 25/11/08. Phiên bản mới!

Xin giới thiệu các bạn thành viên phiên bản mới của Add-In Accounting Helper v2.0

Những thay đổi chính:

FuncArgs.jpg

v2.0: (25-Nov-2008)

+ Sửa lại các đọc chuẩn hơn: sửa lại các đọc số thập phân trong tiếng Việt, các đọc nhóm số trong tiếng Anh.
+ Cho phép đọc số tiền lên tới 18 chữ số.
+ Sửa lại cấu trúc các hàm đọc số VND, USD, Num2Str. Thêm các tham số để thực hiện việc đọc linh động.
VND(Amount, OutputType, Unit1, Unit2, MUnit2, HasGroupingSymbol)
USD(Amount, Unit1, Unit2, MUnit2, HasGroupingSymbol)
Num2Str(Amount, LangType, Unit1, Unit2, MUnit2, HasGroupingSymbol)

Amount: là số tiền cần chuyển đổi thành văn bản.
OutputType: là một số, nếu giá trị là 1 hàm trả về kiểu chuỗi TCVN3, 2 kiểu chuỗi là VNI, 3 kiểu chuỗi là Unicode - ngầm định (Chỉ dùng từ Excel 2007 trở lên)
Unit1: là giá trị kiểu chuỗi, chỉ ra loại đơn vị tiền tệ, ngầm định là "đồng"
Unit2: là giá trị kiểu chuỗi, chỉ ra loại đơn vị tiền tệ cho số lẻ, ngầm định là "xu"
MUnit2: là con số được nhân với số lẻ của Amount, quy đổi số lẻ từ đơn vị Unit1 sang Unit2, ngầm định giá trị là 1
HasGroupingSymbol là giá trị kiểu logic(boolean), nếu là TRUE thì chuỗi kết quả sẽ có dấu phảy (, ) ngăn cách câu, FALSE là giá trị ngầm định không có dấu (, ) ngăn cách.
(*) Với sự thay đổi cấu trúc này cho phép khả năng đọc phong phú, không chỉ đọc số tiền mà đọc cho các đơn vị đo lường khác, cho phép quy đổi đơn vị.

Các ví dụ được trình bày chi tiết trong file "Help.xls"

+ Tăng tốc độ đọc của các hàm.
+ Quản lý bộ nhớ của Windows tốt hơn.
+ Với Excel 2007, Add-In hỗ trợ đầy đủ Unicode. Chữ tiếng Việt được thể hiện trong hộp thoại "Add-Ins" và "Function Wizard/Arguments", các hướng dẫn cho các tham số được chi tiết.
+ Cung cấp thêm khả năng tùy chọn cho người dùng.
(*) Để thay đổi những thông số được thiết lập ngầm định cho các hàm cũng như cách đọc số của các hàm, người dùng có thể mở file "AccHelper.ini" bằng Notepad hay một trình soạn thảo (hỗ trợ Unicode) nào đó để sửa đổi.
Nội dung file "AccHelper.ini" gồm:

;==================================================
;Thiết lập giá trị ngầm định cho Excel Add-In "Accounting Helper" (acchelper.xll)
;Bạn cần gõ chuỗi Unicode!
;--------------------------------------------------------------------------------------------------------------
;E = English; V = Việt Nam

[NUM2STRING]
DecPointV=và
DecPointE=and
OnlyV=chẵn
OnlyE=only
Unit1V=đồng
Unit1E=dollars
Unit2V=xu
Unit2E=cents
EndPoint=.

Nếu người dùng sửa lại các thông số trong file "AccHelper.ini" thì phải khởi động lại Excel thì các hàm mới cập nhật lại.

Các bạn có thể download tại trang đầu hoặc theo đường link dưới đây:
 
Lần chỉnh sửa cuối:
bây h tớ không muốn đọc số lẻ sau số thập phân được không?
vd: số 64,000.75
hàm vnd đọc là: sáu tư ngàn và bẩy lăm xu
nhưng ô số này tớ định dạng ko có số thập phân, tức là thành số 64,001, thì hàm trên vẫn đọc theo như trên
liệu có thể cho hàm đọc cho kết quả là "sáu tư ngàn không tram linh một đồng" được không?
 
bây h tớ không muốn đọc số lẻ sau số thập phân được không?
vd: số 64,000.75
hàm vnd đọc là: sáu tư ngàn và bẩy lăm xu
nhưng ô số này tớ định dạng ko có số thập phân, tức là thành số 64,001, thì hàm trên vẫn đọc theo như trên
liệu có thể cho hàm đọc cho kết quả là "sáu tư ngàn không tram linh một đồng" được không?

Vậy thì bạn hãy lồng hàm làm tròn số trước khi đọc:

Ví du5:
 
Tuân ơi, cho mình hỏi tí.
Mình không thích chữ "chẵn", nên đã bỏ chữ này trong phần:
OnlyV=​
Tuy nhiên, khi đó kết quả sẽ xấu, vì nó có một khoảng trắng trước dấu chấm. Ví dụ:
Một ngàn đồng .​
Mình mày mò bỏ luôn dấu chấm ở mục này:
Endpoint=​
Kết quả "tạm được", nghĩa là không còn dấu chấm.

Nhưng nếu nhấn F2 rồi F9 thì kết quả sẽ có một khoảng trắng thừa ở sau cùng.

Nếu muốn khắc phục, phải dùng thêm hàm TRIM:
=TRIM(VND(B1))​
Vậy, cho mình hỏi, Tuân có thể sửa vấn đề này không?

Nghĩa là:
  • Nếu không dùng chữ chẵn, thì dấu chấm làm ơn nằm sát vào cuối kết quả
  • Nếu không dùng Endpoint, thì cũng sẽ không có khoảng trắng thừa ở cuối kết quả
Vấn đề này, không thành vấn đề nữa nếu chỉ cần có kết quả.

Nhưng nếu dùng hàm tham chiếu (VLOOKUP chẳng hạn), đem cái "Một ngàn đồng" đi dò với kết quả tạo ra bởi VND(), thì sẽ sai, bởi bình thường, chúng ta gõ "Một ngàn đồng" thì không bao giờ có khoảng trắng thừa phía sau.

Hoặc, khi gõ "Một ngàn đồng." (có dấu chấm), thì không ai gõ cách một cái mới đến dấu chấm, cho nên nếu đem cái này đi dò với kết quả tạo ra của VND(), thì cũng không được.

Hy vọng Tuân hiểu mình muốn nói cái gì.

Cảm ơn nhiều.
 
Thêm hai cái nữa, Tuân ơi.

Một, mình hổng thích chữ "và", ví dụ:
Mình thích 9.5 = "Chín đồng 50 xu", chứ không thích "Chín đồng và năm mươi xu"
Theo hướng dẫn, mình cho cái DecPoint= (rỗng)
Thế là, kết quả của VND có đến hai khoảng trắng sau chữ đồng: "Chín đồng năm mươi xu"

Hai, dùng cái Addin này để dịch thời gian rất hay (Chín giờ ba mươi phút chẳng hạn)
Nhưng, cũng giống như trên, nếu bỏ chữ "và" thì sau chữ "giờ" ở kết quả sẽ có 2 khoảng trắng.

Ý mình là Tuân có thể gài cái giống như TRIM() vào trong cái Addin này không?

(Đòi hỏi hơi nhiều, mong là không bị bực...)
 
Accounting Helper v2.0.1 - 08/12/08

Xin giới thiệu các bạn thành viên phiên bản mới của Add-In Accounting Helper v2.0.1

v2.0.1: (08-Dec-2008)
Những thay đổi chính:

+ Sửa lại các lỗi khi xóa giá trị các tham số trong file "acchelper.ini", khi đó các hàm đọc số vẫn đặt khoảng trắng ở cuối câu hoặc cuối đơn vị tiền tệ,

dấu chấm câu.
+ Thêm 2 biến tham số vào file "acchelper.ini", người dùng có thể đặt giá trị cho tham số để cho phép có đọc số lẻ thành chữ hay không.
DecTransV=1 đọc số lẻ tiếng Việt.
VND(9.25) = "Chín đồng và hai mươi lăm xu."
DecTransV=0 không đọc.
VND(9.25) = "Chín đồng 25 xu."

DecTransE=1 đọc số lẻ tiếng Anh
DecTransE=0 không đọc

+ Thêm 3 hàm gồm VNDW, USDW, Num2StrW trong add-in "AccHelperEx.xla", các hàm này luôn trả về giá trị ngầm định là Unicode.
Cách dùng cũng như tốc độ tính toán tương tự như các hàm VND, USD, Num2Str.
Lưu ý, add-in "AccHelperEx.xla" chỉ cần thiết với Excel 2003 hoặc các phiên bản thấp hơn để nhận giá trị Unicode.

Xin cảm ơn anh BNTT đã thông báo các lỗi trên!

Nếu các bạn muốn sử dụng các hàm trên trong VB6, VBA thì có thể copy các khai báo dưới đây đưa vào module của ứng dụng. Nếu dùng các ngôn ngữ khác như Foxpro, Delphi, C, .NET thì cần sửa khai báo theo cách thức khai báo kiểu gọi API Functions.

Mã:
Option Explicit
'Author: Nguyen Duy Tuan
'Website: www.bluesofts.net

Declare Function VNDW Lib "AccHelper.xll" Alias "VND" (ByVal Amount As Double, _
                                        Optional ByVal OutputType As Integer = 3, _
                                        Optional ByVal Unit1 As Variant = vbNullString, _
                                        Optional ByVal Unit2 As Variant = vbNullString, _
                                        Optional ByVal MUnit2 As Long = 1, _
                                        Optional ByVal HasGroupingSymbol As Boolean = False) As Variant
'OutputType = 1 => TCVN3(ABC)
'OutputType = 2 => VNI
'OutputType = 3 => UNICODE (Ngam dinh)

Declare Function USDW Lib "AccHelper.xll" Alias "USD" (ByVal Amount As Double, _
                                        Optional ByVal Unit1 As Variant = vbNullString, _
                                        Optional ByVal Unit2 As Variant = vbNullString, _
                                        Optional ByVal MUnit2 As Long = 1, _
                                        Optional ByVal HasGroupingSymbol As Boolean = False) As Variant

Declare Function Num2StrW Lib "AccHelper.xll" Alias "Num2Str" (ByVal Amount As Double, _
                                        Optional ByVal LangType As Integer = 2, _
                                        Optional ByVal Unit1 As Variant = vbNullString, _
                                        Optional ByVal Unit2 As Variant = vbNullString, _
                                        Optional ByVal MUnit2 As Long = 1, _
                                        Optional ByVal HasGroupingSymbol As Boolean = False) As Variant

'LangType = 1 => Viet Nam
'LangType = 2 => English

Declare Function ToUNC Lib "AccHelper.xll" Alias "UNC" (ByVal Text As Variant, _
                                        Optional ByVal InputType As Integer = 1) As Variant
'InputType = 1  TCVN3>>UNICODE (ngam dinh)
'InputType = 2    VNI>>UNICODE

Các bạn có thể download tại trang đầu hoặc theo đường link dưới đây:
 
Lần chỉnh sửa cuối:
Xin góp ý thêm môt chút nữa, Tuân ơi.
Trong phần hướng dẫn, Tuân có ghi như vầy:
(*) Cài đặt Addin trong Excel2007:
+ Bấm vào nút "Office Button" (nút to, tròn ở góc đỉnh bên trái màn hình)
+ Chọn "Excel Options"
+ Chọn "Add-Ins", màn hình phía bên phải, dưới đáy "Manage:" chọn "Excel Add-Ins" cuối cùng chọn "Go".
+ Tại màn hình "Add-Ins" bạn làm như với Excel2003 trở về trước. Bấm chọn "Browse" và chọn file AccHelper.xll và AccHelperEx.xla.
Tuy nhiên, mình thấy là Excel 2007 nó không cần cái AccHelperEx.xla, chỉ cần mỗi cái AccHelper.xll thôi.
Không biết như vậy có đúng hay không?

Còn phần sửa lại khoảng trắng và dấu chấm câu, tuyệt rồi. Cảm ơn Tuân nhiều. Chúc bạn có nhiều chương trình hay hơn nữa.
 
Tuy nhiên, mình thấy là Excel 2007 nó không cần cái AccHelperEx.xla, chỉ cần mỗi cái AccHelper.xll thôi.
Không biết như vậy có đúng hay không?

Chính xác anh ạ. Trong các tài liệu em gửi kèm đều ghi rõ điều này.
 
Lần chỉnh sửa cuối:
Không sử dụng addins, chỉ cần hàm viết trên VBA

Bạn xem lại giúp mình với. Mình đã addins 2 file AccHelper.xll AccHelperEx.xla rồi. Nhưng khi gõ lệnh với font mặc đinh của Excel là Arial.
VND(123) --> ra đúng, nhưng phải chuyển sang font .vntime mới đọc đc.
VND(123;1) --> ko đọc đc tiếng việt (Tùy chọn 2có là 2,hoặc 3 cũng vẫn ko đọc được.)
Mình có viêt thêm hàm doi_font() ở VBA thì cũng chỉ đọc được trường hợp 1 (không cần chuyền = tay sang font .vntime)
Như ở file đính kèm, mọi người xem hướng dẫn nhé.
Thực ra để cài cái addins cũng khá phức tạp. Mình thích nó tích hợp vào file là tốt nhất, khi chuyển giao cho người dùng đỡ phải hướng dẫn cài addins mà có khi họ chẳng biết addins là cái gì.
Nếu bác nào rảnh rỗi thì hướng dẫn mình làm theo cách mà mình đề xuất là tốt nhất. Bởi vì mình không cần quá nhanh hay quá phức tạp.
Cám ơn các bác đã quan tâm giúp đỡ.

-------------------------
Bài này, bạn post ở đây: http://www.giaiphapexcel.com/forum/showthread.php?t=17160
Tuy nhiên vì thấy đem vào chủ đề của anh Tuân thì thích hợp hơn, nên tôi xin phép dời vào đây.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Bạn xem lại giúp mình với. Mình đã addins 2 file AccHelper.xll AccHelperEx.xla rồi. Nhưng khi gõ lệnh với font mặc đinh của Excel là Arial.
VND(123) --> ra đúng, nhưng phải chuyển sang font .vntime mới đọc đc.
VND(123;1) --> ko đọc đc tiếng việt (Tùy chọn 2có là 2,hoặc 3 cũng vẫn ko đọc được.)
Mình có viêt thêm hàm doi_font() ở VBA thì cũng chỉ đọc được trường hợp 1 (không cần chuyền = tay sang font .vntime)
Như ở file đính kèm, mọi người xem hướng dẫn nhé.
Thực ra để cài cái addins cũng khá phức tạp. Mình thích nó tích hợp vào file là tốt nhất, khi chuyển giao cho người dùng đỡ phải hướng dẫn cài addins mà có khi họ chẳng biết addins là cái gì.
Nếu bác nào rảnh rỗi thì hướng dẫn mình làm theo cách mà mình đề xuất là tốt nhất. Bởi vì mình không cần quá nhanh hay quá phức tạp.
Cám ơn các bác đã quan tâm giúp đỡ.

Bạn đọc kỹ file help.xls nhé! Với Excel 2003 trở về trước, để hiện font Unicode thì hãy dùng các hàm: VNDW, USDW, Num2StrW (Alt + F11 để xem khai báo mã nguồn). Với Excel 2007 giá trị chuỗi ngầm định là Unicode.

Bạn có thể đọc các thông tin trong file WhatsNew.txt sẽ thấy tính cơ động của loại addin này.

Hướng dẫn mọi người biết dùng Add-Ins là mở rộng phạm vi ứng dụng cho họ, cả Microsoft đã thiết kế và cả thế giới người ta làm công cụ cho mình thì nên biết áp dụng chứ, sao lại không cần biết Add-Ins ???
 
Uh nhỉ, mình xin lỗi chưa đọc kỹ. ^_^. Cám ơn bạn đã giải đáp. MÌnh thử hàm vndw thì OK rùi. Tớ nghĩ file Help đó bạn phân ra 2 vùng luôn. Vùng 1: Hướng dẫn E2003; VÙng 2 hướng dẫn E2007. Chứ để như vậy dễ nhầm lẫn lắm. Tất nhiên bạn hướng dẫn như vậy là rất chi tiết rồi. Dù sao cũng cám ơn bác. Mong được chỉ giáo nhiều.

À mình xin góp 1 ý là, bạn có thể gói sản phẩm của bạn thành 1 file setup.exe được không, Như vậy cũng sẽ dễ cho người không biết cách addins của Excel. Bạn tích hợp thêm 1 file hướng dẫn vd: hd.chm và thông tin về bạn như là bản quyền của tác giả chẳng hạn.
Khi đó phần mềm của bạn, nó có thể sẽ là 1 menu được add thêm trên Excel.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Đồng chí Tuân cho hỏi chút: máy ở cơ quan tôi đang sử dụng Excel 2002, không hiểu tại sao khi cài Addin này thì mỗi khi thoát ra khỏi Excel thì file Accounting Helper v2.0 đều tự tắt mất. Excel báo lỗi đòi khởi động lại.
Khi mở File ra đều phải vào cài lại Addin này thì mới được.
Đ/c Tuân cho hỏi có cách nào khắc phục được lỗi này hay không nhỉ?
 
Đồng chí Tuân cho hỏi chút: máy ở cơ quan tôi đang sử dụng Excel 2002, không hiểu tại sao khi cài Addin này thì mỗi khi thoát ra khỏi Excel thì file Accounting Helper v2.0 đều tự tắt mất. Excel báo lỗi đòi khởi động lại.
Khi mở File ra đều phải vào cài lại Addin này thì mới được.
Đ/c Tuân cho hỏi có cách nào khắc phục được lỗi này hay không nhỉ?

Mình đã thử nghiệm trên Windows XP và chỉ cài Office, cài add-in AccHelper thì chạy tốt. Cũng rất muốn tìm lỗi tại sao như trường hợp của Hà nhưng mình không gặp đc lỗi như vậy nên thật khó để xác định & sửa lỗi.

Đ/C Hà thử cài Excel2003 thử xem có bị vậy không? Có gì thông báo giúp mình kết quả nhé.
 
Đồng chí Tuân cho hỏi chút: máy ở cơ quan tôi đang sử dụng Excel 2002, không hiểu tại sao khi cài Addin này thì mỗi khi thoát ra khỏi Excel thì file Accounting Helper v2.0 đều tự tắt mất. Excel báo lỗi đòi khởi động lại.
Khi mở File ra đều phải vào cài lại Addin này thì mới được.

Vậy thì trong thủ tục trước khi đóng file bị lỗi. Có thể lỗi là do không tương thích với Excel
2002. Có cách nào Tuân cho Hà Debug(*) không? Như vậy thì dễ tìm hơn.

Lê Văn Duyệt

(*) Có nghĩa là có thể tạo ra file để cho Hà test không. Chứ không phải nguyên source của Tuân
 
Vậy thì trong thủ tục trước khi đóng file bị lỗi. Có thể lỗi là do không tương thích với Excel
2002. Có cách nào Tuân cho Hà Debug(*) không? Như vậy thì dễ tìm hơn.

Lê Văn Duyệt

(*) Có nghĩa là có thể tạo ra file để cho Hà test không. Chứ không phải nguyên source của Tuân

Vâng, em sẽ kiểm tra kỹ lại thủ tục thoát Excel, có thể phải viết các đoạn code để comment các dòng lệnh trong thủ tục thoát xem thế nào. Điều lạ là em cũng đã chạy thử trên các môi trường khác nhau của Excel 2000, XP (2002), 2003, 2007 thì đều chạy tốt cả.
 
Mình đã thử nghiệm trên Windows XP và chỉ cài Office, cài add-in AccHelper thì chạy tốt. Cũng rất muốn tìm lỗi tại sao như trường hợp của Hà nhưng mình không gặp đc lỗi như vậy nên thật khó để xác định & sửa lỗi.
Cả 2 máy ở cơ quan đều cài Office 2002, thử cài Addin này vào 2 máy đều bị thế cả. (Lỗi thông báo như hình đính kèm, còn tìm hiểu sâu thì món này chịu thôi. Hiiii).
Đ/C Hà thử cài Excel2003 thử xem có bị vậy không? Có gì thông báo giúp mình kết quả nhé.
Mình chưa thử trên Excel2003, nhưng cái này phải kiếm đĩa để thử đã. Nhưng chắc cài trên Office 2003 là được bởi vì chẳng thấy ai bị lỗi như mình cả.
 

File đính kèm

  • Loi 2.jpg
    Loi 2.jpg
    66.3 KB · Đọc: 21
  • Loi Adin.jpg
    Loi Adin.jpg
    35.6 KB · Đọc: 30
  • Adin.jpg
    Adin.jpg
    23.3 KB · Đọc: 33
Lần chỉnh sửa cuối:
Hôm nay trong lúc xài AccHelper, chợt nghĩ ra điều này, hy vọng chỉ là "chuyện nhỏ" đối với tác giả:

Có thể thêm cho một vài tùy chọn trong AccHelper.ini để quy định cách đọc số:

- Tùy chọn đọc "linh" hay là "lẻ" (106 = "một trăm lẻ sáu" hay là "một trăm linh sáu")

- Tùy chọn đọc "" hay "bốn" (44 = "bốn mươi bốn" hay là "bốn mươi tư")

- Tùy chọn đọc "nghìn" hay "ngàn" (1000 = "một nghìn" hay là "một ngàn")​
Xin cảm ơn trước.
 
Lần chỉnh sửa cuối:
Hôm nay trong lúc xài AccHelper, chợt nghĩ ra điều này, hy vọng chỉ là "chuyện nhỏ với tác giả:

Có thể thêm cho một vài tùy chọn trong AccHelper.ini để quy định cách đọc số:

Xin cảm ơn trước.
Tốt nhất nên tùy chọn theo kiểu MIỀN NAM hay MIỀN BẮC
MIỀN NAM: Lẻ... Bốn... Ngàn
MIỀN BẮC: Linh... Tư... Nghìn
(Chứ Lẻ mà đi với nghìn... Bốn mà đi với linh... thì chả ra MIỀN nào cả)
 
Cảm ơn hai anh BNTTndu96081631 đã gửi thêm ý tưởng hay. Thêm nữa là "Bảy"/"Bẩy". Em sẽ nâng cấp phiên bản và bổ sung thêm giao diện tùy chọn cho người dùng (UI) theo các chức năng trong acchelper.ini.
 
Lần chỉnh sửa cuối:
Accounting Helper v2.0.2 ngày 30/03/09

Xin giới thiệu các bạn thành viên phiên bản mới của add-In Accounting Helper v2.0.2

v2.0.2: (08-Mar-2009)
Những thay đổi chính:

+ Thêm các biến tùy chọn về cách đọc các số 0,4,7, ngàn/nghìn theo cách đọc của các vùng miền.
Các tham số được thiết lập ngầm định trọng file "acchelper.ini"

;Cách đọc các từ "đặc biệt"
Ngan=ngàn
Linh=lẻ
Bon=bốn
Bay=bảy

+ Thêm tiện ích "Accounting Helper Options" - Cho phép người dùng gán các giá trị thiết lập vào file "acchelper.ini" một cách trực quan.
Chương trình này phải được đặt trong cùng đường dẫn chứa các file "acchelper.xll" và "acchelper.ini".
AcchelperOpt.jpg


Các bạn có thể download bản cập nhật tại trang đầu hoặc theo đường link dưới đây:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm
 
Lần chỉnh sửa cuối:
Cảm ơn Tuân nhiều. Cứ tưởng Chủ Nhật thì đi nhậu chứ, ai ngờ vẫn thức khuya để đáp ứng yêu cầu của anh em.

Cho mình "thắc mắc" tí. Cái mục OnlyV:
000-782.jpg
Có phải là: Nếu như xóa trắng nó, thì con số lẻ (tiền xu) sẽ hiện nguyên hình chứ không đọc?
Nghĩa là: 44.5 = Bốn mươi bốn đồng 50 xu ?

Vậy có thể cho mình xin thêm một cái Option nữa, giống cái này, nhưng... BỎ LUÔN CHỨ KHÔNG ĐỌC được không? Ví dụ: 44.5 = Bốn mươi bốn đồng (Hết)

Chắc Tuân cũng biết, hóa đơn xuất ra khi cộng VAT vào thì nó lẻ khủng khiếp, nhưng thực tế thì thời nay có ai xài cái gì nhỏ hơn 1 đồng đâu, ghi số tiền vào trong hóa đơn cũng vậy. Trước giờ mình cứ phải dùng:
= VND(ROUND(H5, 0))​
Bởi vì cho dù trong bảng tính, mình đã Format Cell không thấy số lẻ, nhưng kết quả của VND thì cứ mang theo cả xu vào... nhìn chán lắm!

Mình xin cái điều này là để khỏi phải lồng hàm ROUND vào.

Cảm ơn trước. Có dịp ra Hà Nội sẽ hậu tạ.
 
Lần chỉnh sửa cuối:
Cảm ơn Tuân nhiều. Cứ tưởng Chủ Nhật thì đi nhậu chứ, ai ngờ vẫn thức khuya để đáp ứng yêu cầu của anh em.

Cho mình "thắc mắc" tí. Cái mục OnlyV:
000-782.jpg

Đó là chữ đọc "chẵn" hay "xxx" nếu số là chẵn anh ạ.

Có phải là: Nếu như chọn nó, thì con số lẻ (tiền xu) sẽ hiện nguyên hình chứ không đọc?
Nghĩa là: 44.5 = Bốn mươi bốn đồng 50 xu ?

Đó là DecTransV anh ạ. Nếu được chọn (ngầm định) thì đọc, nếu bỏ thì không đọc, kết quả sẽ là "Bốn mươi bốn đồng và 50 xu"

Vậy có thể cho mình xin thêm một cái Option nữa, giống cái này, nhưng... BỎ LUÔN CHỨ KHÔNG ĐỌC được không? Ví dụ: 44.5 = Bốn mươi bốn đồng (Hết)

Chắc Tuân cũng biết, hóa đơn xuất ra khi cộng VAT vào thì nó lẻ khủng khiếp, nhưng thực tế thì thời nay có ai xài cái gì nhỏ hơn 1 đồng đâu, ghi số tiền vào trong hóa đơn cũng vậy. Trước giờ mình cứ phải dùng:
= VND(ROUND(H5, 0))​
Bởi vì cho dù trong bảng tính, mình đã Format Cell không thấy số lẻ, nhưng kết quả của VND thì cứ mang theo cả xu vào... nhìn chán lắm!

Mình xin cái điều này là để khỏi phải lồng hàm ROUND vào.

Em cũng đã nghĩ điều này từ trước cũng như anh nói. Những vì việc đọc số không phải chỉ đọc cho số "tiền thanh toán" - luôn là số chẵn, có những người có nhu cầu đọc số giờ, đọc số tiền Dollar, đọc thông số nào đó thì hàm VND nếu để nguyên như vậy sẽ mang tính tổng quát. Nếu cho chức năng làm tròn nguyên để làm ngầm định thì nó lại chỉ đúng cho một trường hợp. Em mong muốn chức năng đọc số trong Accounting Helper là một giải pháp tổng thể nên em vẫn để nguyên. Tạm thời anh vẫn nên dùng thêm hàm ROUND(xx,0) vậy ;;;;;;;;;;;

Cảm ơn trước. Có dịp ra Hà Nội sẽ hậu tạ.
[/QUOTE]

Cảm ơn anh. Nếu được gặp các anh từ SG ra Hà Nội thì anh em ngoài này vui quá. Nhậu tới bến luôn --=--
 
Lần chỉnh sửa cuối:
Cảm ơn TuanVNUNI nhiều. Tuy nhiên trong khi đọc số thập phân mình thấy nó như thế này:
khi Đọc số 123,04 → Một trăm hai mươi ba phẩy không mươi bốn. Vậy Tuan có thể khắc phục cho "trọn tình vẹn nghĩa" sớm không?
 
Cảm ơn TuanVNUNI nhiều. Tuy nhiên trong khi đọc số thập phân mình thấy nó như thế này:
khi Đọc số 123,04 → Một trăm hai mươi ba phẩy không mươi bốn. Vậy Tuan có thể khắc phục cho "trọn tình vẹn nghĩa" sớm không?

Cảm ơn anh, vậy sẽ đọc là "Một trăm hai mươi ba phẩy không bốn" là đúng ?
 
đọc là "Một trăm hai mươi ba phẩy không bốn" là đúng ?

Theo mình:
- Nếu đọc không gắn với đơn vị tiền tệ hoặc đơn vị đo lường khác (mét, giờ...)thì: 1,04 → "Một phẩy không bốn."

- Nếu có gắn với các đơn vị khác (ví dụ mét-centimet)thì: 1,04 → Một mét và bốn centimet.
 
Accounting Helper v2.0.3

Xin giới thiệu các bạn thành viên phiên bản mới của add-In Accounting Helper v2.0.3

v2.0.3: (14-Apr-2009)
Những thay đổi chính:
+ Sửa cách đọc đọc số không ở vị trí đầu tiên trong nhóm số của phần thập phân.


(*) Từ phiên bản trước, nếu người dùng quan tâm tới việc đọc số cho các đơn vị đo lường như: m, cm, giờ, phút,...hãy sử dụng 3 tham số trong hàm VND, USD là
+ Unit1: đọc đơn vị phần nguyên
+ Unit2: đọc đơn vị phần lẻ (thập phân)
+ MUnit2: là con số được nhân với số lẻ của Amount, quy đổi số lẻ từ đơn vị Unit1 sang Unit2, ngầm định giá trị là 1.


(*) CÓ nhiều người mail hỏi tôi về việc muốn đọc số chẵn, các bạn hãy dùng hàm ROUND để làm tròn trước khi cho đọc nhé!
VÍ dụ tại ô A1 có số tiền
=VND(round(A1,0))
 
Tuân ơi.. Lại làm phiền Tuân nữa đây.
Có thể cho thêm một Option "không viết hoa chữ đầu tiên" không?
Ví dụ câu này: "Số tiền phải thanh toán là Một trăm...", nếu như chữ "Một" mà viết thường thì hay hơn, phải không.
Đương nhiên mình có thể lồng VND() vào trong LOWER(), nhưng... hì... có cái Option vẫn thích hơn.
 
Tuân ơi.. Lại làm phiền Tuân nữa đây.
Có thể cho thêm một Option "không viết hoa chữ đầu tiên" không?
Ví dụ câu này: "Số tiền phải thanh toán là Một trăm...", nếu như chữ "Một" mà viết thường thì hay hơn, phải không.
Đương nhiên mình có thể lồng VND() vào trong LOWER(), nhưng... hì... có cái Option vẫn thích hơn.

Vâng, em sẽ bổ sung tùy chọn này vào phiên bản sau. Có thể một thời gian nữa em mới đưa ra phiên bản mới sau khi đã bổ sung thêm các tính năng khác nữa.
 
Em đặt công thức đúng như bác hướng dẫn đó, nhưng kết quả là "One hundred twenty three dollars and forty five cents.". Ý em là diễn giải sang chữ bằng tiếng Việt bác ạh !
Bạn vào trong thư mục đã cài đặt AccHelper, chạy chương trình AccHelperOption.exe, và sửa lại các tùy chọn trong đó (sửa bên phần tiếng Việt).

Chẳng hạn, nguyên gốc của AccHelperOption là:
000-1948.jpg
Bạn hãy sửa nội dung trong cái vùng tôi khoanh đỏ lại thành:
001-72.jpg
Sau đó nhấn nút Chấp nhận. Bạn phải khởi động lại Excel để cập nhật Addins này.

Hy vọng đáp ứng được yêu cầu của bạn (đọc số tiếng Việt với đơn vị tính là Dollars Mỹ)
 
Accounting Helper v2.0.4 (New)

Xin giới thiệu các bạn thành viên phiên bản mới của add-In Accounting Helper v2.0.4

v2.0.4: (15-Aug-2009)
Những thay đổi chính:

+ Sửa lỗi khi đặt tùy chọn trong "AcchelperOptions.exe". Xóa trống giá trị, hàm VND, USD bị lỗi "#VALUE!"
+ Thêm tùy chọn trong "AcchelperOptions.exe", cho phép tùy biến đặt chữ đầu là Hoa hay không. NGầm định là chữ đầu Hoa.


AcchelperOpt.jpg
 
Lần chỉnh sửa cuối:
cho mình hỏi có cách nào làm add-in (xla hoặc com) mà không bị ảnh hưởng bởi đường dẫn tập tin không vậy?

ví dụ: ở máy tính A, đường dẫn file add-in là: C:\documents and settings\kuteo\application data\microsoft\addins\ghepnhom.xla
bây giờ mình muốn chia sẽ file, chép file đó qua máy tính B thì phải sửa lại đường dẫn: C:\documents and settings\kuty\application data\microsoft\addins\ghepnhom.xla
thì dữ liệu mới được cập nhật. rồi sau khi thay đổi dữ liệu, chép lại cho máy tính A thì tiếp tục sửa lại đường dẫn....
các máy tính này độc lập với nhau, nên không thể dùng chung 1 đường dẫn được. còn hàm trong file add-in thì giống nhau. các bạn hướng dẫn với
 
Mấy bác cho tớ hỏi làm cách nào để sự dụng cái này hoặc một addin khác cho access nhỉ!
Thanks trước tớ đang rất rất cần!
 
cho mình hỏi có cách nào làm add-in (xla hoặc com) mà không bị ảnh hưởng bởi đường dẫn tập tin không vậy?

ví dụ: ở máy tính A, đường dẫn file add-in là: C:\documents and settings\kuteo\application data\microsoft\addins\ghepnhom.xla
bây giờ mình muốn chia sẽ file, chép file đó qua máy tính B thì phải sửa lại đường dẫn: C:\documents and settings\kuty\application data\microsoft\addins\ghepnhom.xla
thì dữ liệu mới được cập nhật. rồi sau khi thay đổi dữ liệu, chép lại cho máy tính A thì tiếp tục sửa lại đường dẫn....
các máy tính này độc lập với nhau, nên không thể dùng chung 1 đường dẫn được. còn hàm trong file add-in thì giống nhau. các bạn hướng dẫn với

Đường dẫn mà bạn mô tả nó là cho Add-In (không cần phải cài đặt) mà Excel quản lý. Bình thường, file Add-In đặt ơt một thư mục quản lý của người dùng (ví dụ D:\MyAddIns). Trong Excel, vào menu Tools->Add-Ins để cài đặt.
 
Mấy bác cho tớ hỏi làm cách nào để sự dụng cái này hoặc một addin khác cho access nhỉ!
Thanks trước tớ đang rất rất cần!

Trong bộ cài add-in AccHelper có một file "AccHelper API.txt". File này mô tả cách khai báo hàm API, hàm trong tư viện add-in Xll được triệu gọi để sử dụng.

Trong Access, bạn tạo module và copy->paste đoạn code dưới đây

Mã:
'Copying the following codes then paste to a module in VB6/VBA

Option Explicit
'Author: Nguyen Duy Tuan
'Website: www.bluesofts.net

Declare Function VNDW Lib "AccHelper.xll" Alias "VND" (ByVal Amount As Double, _
                                        Optional ByVal OutputType As Integer = 3, _
                                        Optional ByVal Unit1 As Variant = vbNullString, _
                                        Optional ByVal Unit2 As Variant = vbNullString, _
                                        Optional ByVal MUnit2 As Long = 1, _
                                        Optional ByVal HasGroupingSymbol As Boolean = False) As Variant
'OutputType = 1 => TCVN3(ABC)
'OutputType = 2 => VNI
'OutputType = 3 => UNICODE (Ngam dinh)

Declare Function USDW Lib "AccHelper.xll" Alias "USD" (ByVal Amount As Double, _
                                        Optional ByVal Unit1 As Variant = vbNullString, _
                                        Optional ByVal Unit2 As Variant = vbNullString, _
                                        Optional ByVal MUnit2 As Long = 1, _
                                        Optional ByVal HasGroupingSymbol As Boolean = False) As Variant

Declare Function Num2StrW Lib "AccHelper.xll" Alias "Num2Str" (ByVal Amount As Double, _
                                        Optional ByVal LangType As Integer = 2, _
                                        Optional ByVal Unit1 As Variant = vbNullString, _
                                        Optional ByVal Unit2 As Variant = vbNullString, _
                                        Optional ByVal MUnit2 As Long = 1, _
                                        Optional ByVal HasGroupingSymbol As Boolean = False) As Variant

'LangType = 1 => Viet Nam
'LangType = 2 => English

Declare Function ToUNC Lib "AccHelper.xll" Alias "UNC" (ByVal Text As Variant, _
                                        Optional ByVal InputType As Integer = 1) As Variant
'InputType = 1  TCVN3>>UNICODE (ngam dinh)
'InputType = 2    VNI>>UNICODE

Bây giờ bạn có thể sử dụng nó:

Mã:
Sub TestVND
    MsgBox VNDW(12345)
End Sub
 
Đọc số ra chữ

Công cụ này sử dụng cũng hày nè bạn
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn Bạn đã chia sẻ file này!

Hồi nhỏ ngày nào tôi cũng tắm sông?. Xin lỗi bạn! nhưng vì tôi là dân Quảng Nam, hì....

"Không ai tắm hai lần trên một dòng sông" là một phát biểu của một nhà Triết học cổ đại, mình không nhớ nổi tên nữa. Một nguyên lý về dòng sông luôn chảy và vận đồng không ngừng. Ta có thể tắm nhiều lần trên một con sông nhưng dòng sông chỉ là một lần. Liên hệ điều này với cuộc sống của chúng ta và hãy tìm ra một quy luật của cuộc sống.
 
"Không ai tắm hai lần trên một dòng sông" là một phát biểu của một nhà Triết học cổ đại, mình không nhớ nổi tên nữa. Một nguyên lý về dòng sông luôn chảy và vận đồng không ngừng. Ta có thể tắm nhiều lần trên một con sông nhưng dòng sông chỉ là một lần. Liên hệ điều này với cuộc sống của chúng ta và hãy tìm ra một quy luật của cuộc sống.

Sao giống câu chuyện ở đây thế
 
Phát biểu "Không ai tắm hai lần trên một dòng sông" này là của nhà Triết học Cổ đại theo trường phái duy vật Heraclitus.
Dưới con mắt của Heraclitus, mọi sự vật trong thế giới của chúng ta luôn luôn thay đổi, vận động, phát triển không ngừng. Thế giới như một dòng chảy, cứ trôi đi mãi. Từ đó, ông đưa ra luận điểm nổi tiếng: “Không ai tắm hai lần trên một dòng sông”. Không có gì thường xuyên biến đổi như một dòng sông nhưng cũng không có gì ổn định như dòng sông. Bởi khi nó vận động cũng là khi nó đứng im. Nói cách khác, tính biến đổi của dòng sông không loại trừ sự đứng im, tức là cái mà nhờ đó dòng sông là xác định, ổn định và bất biến.

Ở Heraclitus, không những sông mà cả mặt trời cũng thường xuyên và liên tục đổi mới, cũng như dòng sông, ông cho rằng không có gì ổn định và bất biến hơn mặt trời luôn chiếu sáng.

Heraclitus đã tiếp cận được với những tư tưởng rất cơ bản của phép biện chứng. Ông nói: “trong cùng một dòng sông ấy chúng ta lội xuống và không lội xuống, chúng ta có và không có”. Đó chính là những tư tưởng về mối liên hệ phổ biến tất yếu của qui luật thống nhất và đấu tranh giữa các mặt đối lập.

Nguồn từ: http://vi.wikipedia.org/wiki/Heraclitus
 
Mình xài Excel 2007 mà sao khi thay đổi giá cho các mục nhỏ thì lệnh có lúc nó không đọc được, đôi lúc sửa số cho các mục nhanh quá thì chương trình Excel khởi động lại, 1 hay 2 lần sau thì chương trình Excel tắt luôn. Có ai bị trường hợp như vậy chưa và có cách nào khắc phục không vậy?
 
Thank you anh em, nhưng không hiểu sao mỗi lần mình cài
add ADD-IN này vào là toàn bộ fonts chữ của mình bị lỗi hết vậy ? khởi động lại máy thì lại không cài được, có yêu cầu bản quyền của office không các Bác ?
 
Thank you anh em, nhưng không hiểu sao mỗi lần mình cài
add ADD-IN này vào là toàn bộ fonts chữ của mình bị lỗi hết vậy ? khởi động lại máy thì lại không cài được, có yêu cầu bản quyền của office không các Bác ?

Add-m này chỉ đọc số thôi có làm gì khác đâu bà lỗi font bạn à. Có lẽ Office của bạn có vấn đề gì đó.
 
Xin hỏi bạn Duy Tuấn khi mình thực hiện theo các bước bạn hướng dẫn thì khi dùng trên bảng excel bình thường thì hàm có trả về đúng giá trị nhưng khi áp dụng vào tờ nộp ngân sách của mình thì lại không được. Nhờ bạn kiểm tra giúp mình với
Thank!
 
Các bác cho em hỏi bị như thế này là lỗi gì. "9" thành "ch?n"
kutas2lona
 
Mình cũng bị lỗi khi chạy add-in đọc số
 
Lần chỉnh sửa cuối:
Mình cũng bị lỗi khi chạy add-in đọc số "9" thành "ch?n", chỉ mỗi số chín mới bị thôi bác chủ thớt ơi! Giải thích cho anh em đi!

Các bạn kiểm tra lại nhé. Về vấn đề trên hàm đọc không sai.
Các bạn lưu ý khi dùng hàm VND() là:
Với Excel 2003 trở về trước, ngầm dịnh trả về font ABC
Với Excel 2007 trở về sau, ngầm dịnh trả về font unicode

Trong 2003, nếu muốn dùng unicode thì dùng hàm VNDW()

Còn nếu dùng các font ABC, VNI thì phải tìm hiểu cách dùng tham số của hàm là "OutputType".

Các bạn hãy đọc file ví dụ cùng hướng dẫn chi tiết. Hãy học sử dụng hàm VND() như bạn đã cố gằng tìm hiểu hàm VLOOKUP của Excel.
 
cái add-in này không dùng được cho Excel 2010 hả các bạn ơi
 
Sau khi chuyển sang sử dụng Office 2010 thì Add-in này trả về kết quả bằng 0 cho mọi hàm, thử lại nhiều lần thì crash hệ thống và lỗi Excel 2010.
Bluesoft check lại giúp. Thanks.
 
Trong office 2007 thi cài helper 2.0.4 như thế nào? help me
 
Xin hỏi bạn Tuân
nếu chạy chương trình này có bị máy xem là vỉrus sẽ "dép đực" không
chứ tớ dùng add in =vnd thì bị máy phát hiện và "dép đực" hoài
cảm ơn nhé
 
Bạn ơi, có Add-In đọc diện tích đất không vậy?
VD: 200,3 m2 (Bằng chữ: Hai trăm phẩy ba mét vuông)
 
Bạn ơi, có Add-In đọc diện tích đất không vậy?
VD: 200,3 m2 (Bằng chữ: Hai trăm phẩy ba mét vuông)

Bạn đọc kỹ cách sử dụng các tham số của hàm VND và thiết lập thông số trong file AccHelperOption.exe là đọc được.
 
Excel XLL Add-In Accounting Helper (AccHelper.xll)

FuncArgs.jpg


- Download file về
- Giải nén
- Mở Excel, vào menu Tools\Add-Ins chọn nút "Browse" và chọn tới các file *.Xll, *.xla (vừa được giải nén).

Cách dùng (đơn giản) trong Sheet:
=VND(Số tiền)
Ví dụ:
=VND(1000000)

=VND(1000000) kết quả là chuỗi TCVN3 (Nếu Excel 2003 trở về trước)
=VND(1000000) kết quả là chuỗi Unicode (Nếu từ Excel 2007 trở lên)

=VND(1000000,2) kết quả là chuỗi VNI
=VND(1000000,3) kết quả là chuỗi Unicode

=ToUNC(VND(1000000,1),1) kết quả là chuỗi Unicode
=ToUNC(VND(1000000,2),2) kết quả là chuỗi Unicode

=USD(1000000) kết quả là chuỗi đọc số tiếng Anh

=Num2Str(1000000) kết quả là chuỗi Unicode (tiếng Anh)
=Num2Str(1000000,1) kết quả là chuỗi đọc số tiếng Việt

Để biết được nó tối ưu như thế nào, bạn vào công thức tại ô A1
=VND(1000000) copy cho tất cả các dòng trong một cột (65536 dòng)

Bạn cũng làm vậy với hàm đổi số thành chữ của các AddIns khác bạn sẽ thấy sự khác nhau về tốc độ!

Để cài đặt "Accounting Helper", bạn hãy cài đặt lần lượt 2 file Add-In là:
1- AccHelper.xll (file này có 4 hàm: SoThanhChu, VND, USD, Num2Str)
2- AccHelperEx.xla (file này để hỗ trợ các hàm chuyển Unicode: ToUNC, Num2StrW, VNDW, USDW)
(*) Nếu bạn đang dùng Excel2007 thì không cần cài Add-In "AccHelperEx.xla", vì với Excel2007 "AccHelper.xll" đã hỗ trợ Unicode và các hàm ToUNC, NumStr.

(*) Để thay đổi các cách đọc, bạn hãy chạy chương trinh "Accounting Helper Options" (AcchelperOptions.exe)

AcchelperOpt.jpg


Các bạn đọc thêm hướng dẫn tại file Help.xls hoặc tại đường link dưới đây:
http://www.bluesofts.net/Products/AddIns/Accounting Helper/Index.htm

File "Cach_doc_ khac.zip" là các ví dụ về các cách đọc số thành chữ bằng hai thứ tiếng Anh và Việt. Nếu trong thực tế phát sinh cách đọc khác, các bạn có thể đề đạt tại topic này, tôi sẽ cố gắng thực hiện trong khả năng có thể.

Download Accounting Helper v2.0.4 (phiên bản mới nhất, ngày 15/08/09)

Ban oi! làm sao đê down file về
 
Xin hỏi bạn Tuân
nếu chạy chương trình này có bị máy xem là vỉrus và sẽ bị diệt khi dược cài vào add in không
chứ tôi đã dùng đoạn macro = VND thì bị máy phát hiện và bị diệt ngay do đó không bấm run để chạy chuyển số ra chữ
cảm ơn nhé​
 
Xin hỏi bạn Tuân
nếu chạy chương trình này có bị máy xem là vỉrus và sẽ bị diệt khi dược cài vào add in không
chứ tôi đã dùng đoạn macro = VND thì bị máy phát hiện và bị diệt ngay do đó không bấm run để chạy chuyển số ra chữ
cảm ơn nhé​

Add-in Accounting Helper là một công cụ đặc biệt được lập trình đưa về dạng XLL/DLL (mã máy) - là chuẩn add-in của Microsoft nên không bị tình trạng báo virus macro.
Trong bộ add-in có hai dạng: *.xll và *.xla. Loại xla sẽ bị báo nhầm là virus macro còn xll thì không.
 
thân gửi bạn Tuân
đúng là tôi đã sử dụng xla cài trong tool/macro/ visual basic Editor
cám ơn bạn và cho tôi hỏi thăm, sao mình bấm download không vào trang chính để tải về
 
thân gửi bạn Tuân
đúng là tôi đã sử dụng xla cài trong tool/macro/ visual basic Editor
cám ơn bạn và cho tôi hỏi thăm, sao mình bấm download không vào trang chính để tải về

Sorry bạn, thời gian vừa rồi website bên mình có sửa lại cấu trúc nên một số địa chỉ bị khác so với trước kia. Bạn download theo đường dẫn dưới đây nhé.
http://bluesofts.net/Products/AddIns/Accounting Helper/AccHelper.zip
 
Lần chỉnh sửa cuối:
Bạn ơi,
Bạn giúp mình với,khônng hiểu sao mình cài add-ins vào máy notebook lại hiện lỗi này, và nó không đọc được thành chữ.

Bạn giúp mình với.
 

File đính kèm

  • Untitled.jpg
    Untitled.jpg
    20.1 KB · Đọc: 241
Bạn ơi,
Bạn giúp mình với,khônng hiểu sao mình cài add-ins vào máy notebook lại hiện lỗi này, và nó không đọc được thành chữ.

Bạn giúp mình với.

Bạn đang dùng Excel 2007 thì chỉ cần cài AccHelper.xll là được. Còn bạn cài thêm AccHelperEx.xla lf không cần thiết, hơn nữa khi cài bộ Office bạn cần cài thành phần "Visual Basic for Application" trong "Office Share" của bộ cài.
 
@ Nguyễn Duy Tuân
Bác có thể thêm phần dấu phẩy ngăn cách giữa phần triệu và phần ngàn nữa thì tuyệt.

VD: 1,764,532

Sẽ đọc thành: Một triệu, bảy trăm sáu mươi tư ngàn, năm trăm ba hai đồng chẵn.
Thay cho: Một triệu bảy trăm sáu mươi tư ngàn năm trăm ba hai đồng chẵn.

Thanks.

Thêm một ý kiến nhỏ nữa:

Phần số khi đọc tiếng Việt và tiếng Anh có thể loại bỏ từ tiền tệ (dollars) không vậy. Một số tài liệu thể hiện chữ số bằng tiếng Việt và thể hiện lại tiếng Anh cũng bằng loại tiền Việt.

Như ví dụ 1,764,532
sẽ đọc là: TV: Một triệu, bảy trăm sáu mươi bốn ngàn, năm trăm ba mươi hai đồng chẵn.
TA: One million, seven hundred and sixty four thousand, five hundred and thirty two (Vietnamese Dong) only.
Thay cho: One million, seven hundred and sixty four thousand, five hundred and thirty two dollars (Vietnamese Dong) only.

Công nhận chương trình của bác đọc nhanh thật.
 
Chỉnh sửa lần cuối bởi điều hành viên:
@ Nguyễn Duy Tuân
Bác có thể thêm phần dấu phẩy ngăn cách giữa phần triệu và phần ngàn nữa thì tuyệt.

VD: 1,764,532

Sẽ đọc thành: Một triệu, bảy trăm sáu mươi tư ngàn, năm trăm ba hai đồng chẵn.
Thay cho: Một triệu bảy trăm sáu mươi tư ngàn năm trăm ba hai đồng chẵn.

Thanks.

Thêm một ý kiến nhỏ nữa:

Phần số khi đọc tiếng Việt và tiếng Anh có thể loại bỏ từ tiền tệ (dollars) không vậy. Một số tài liệu thể hiện chữ số bằng tiếng Việt và thể hiện lại tiếng Anh cũng bằng loại tiền Việt.

Như ví dụ 1,764,532
sẽ đọc là: TV: Một triệu, bảy trăm sáu mươi bốn ngàn, năm trăm ba mươi hai đồng chẵn.
TA: One million, seven hundred and sixty four thousand, five hundred and thirty two (Vietnamese Dong) only.
Thay cho: One million, seven hundred and sixty four thousand, five hundred and thirty two dollars (Vietnamese Dong) only.

Công nhận chương trình của bác đọc nhanh thật.

Bạn đọc kỹ file hướng dẫn để xem cấu trúc của hàm và các ví dụ nhé. Các yêu cầu của bạn hàm VND, USD đều đáp ứng được.
 
Bạn đọc kỹ file hướng dẫn để xem cấu trúc của hàm và các ví dụ nhé. Các yêu cầu của bạn hàm VND, USD đều đáp ứng được.

Cảm ơn bác! Đọc không kỹ mà đã hỏi. Đã làm được...

Thấy cái chữ only đằng sau phần đọc tiếng Anh có vẻ vướng vướng, có cách nào bỏ được không bác?
 
Cảm ơn bác! Đọc không kỹ mà đã hỏi. Đã làm được...

Thấy cái chữ only đằng sau phần đọc tiếng Anh có vẻ vướng vướng, có cách nào bỏ được không bác?

Trong bộ add-in này tôi đã bổ sung file AccHelperOptions.exe, bạn hãy mở file này ra và thay đổi các thiết lập ngầm định là được bạn à.
 
Lần chỉnh sửa cuối:
Hàm VND và USD báo lỗi REF! trong excel 2007

Xin tác giả giúp tôi với
Tôi đang dùng excel 2007 đã download và cài đặt như hướng dẫn nhưng khi sử dụng thì thấy hiện tượng này:
Dùng các hàm VND hoặc USD luôn thay báo lỗi REF! nhưng khi dung trực tiếp hàm Num2string thi lai hoạt động bình thường.
Vậy cách khắc phục hiện tượng trên như thế nào
Xin chân thành cảm ơn
 
Xin tác giả giúp tôi với
Tôi đang dùng excel 2007 đã download và cài đặt như hướng dẫn nhưng khi sử dụng thì thấy hiện tượng này:
Dùng các hàm VND hoặc USD luôn thay báo lỗi REF! nhưng khi dung trực tiếp hàm Num2string thi lai hoạt động bình thường.
Vậy cách khắc phục hiện tượng trên như thế nào
Xin chân thành cảm ơn


Bạn kiểm tra xem có add-in nào khác AccHelper cũng có hàm VND không? Nếu có bạn hãy gỡ bỏ đi là được.
 

Bài viết mới nhất

Back
Top Bottom