xin file add-ins đọc số ngày tháng và diện tích (tiếng Việt)

Liên hệ QC

noidauvothuong

Thành viên mới
Tham gia
13/8/14
Bài viết
4
Được thích
0
mình là dân mới của excel 2003, mình đang làm công việc văn phòng, ngành nghề của mình đa phần dính văn bản, vì thế nên phần excel sẽ giúp cho công việc mau hơn, chính xác hơn,file tiền bằng số ra chữ mình đã ok, còn diện tích, ngày tháng năm .... thì chưa thấy file **~** . có thấy file diện tích của anh kia nhưng còn bị lỗi, hôm nay là lần đầu mình đóng góp bài viết trên forums, mong các anh chị IT dành ít thời gian viết dùm em 2 file add-ins hoặc cho nó vô chung luôn.-\\/.-=.,,.xin chân thành cảm ơn trước. Cụ thể là:

Ngày tháng năm : thí dụ: 20/11/2014= ngày hai mươi tháng mười một năm hai ngàn không trăm mười bốn.
diện tích : thí dụ : 4567,5m2= bốn ngàn năm trăm sáu mươi bảy phẩy năm mét vuông.
 
mình là dân mới của excel 2003, mình đang làm công việc văn phòng, ngành nghề của mình đa phần dính văn bản, vì thế nên phần excel sẽ giúp cho công việc mau hơn, chính xác hơn,file tiền bằng số ra chữ mình đã ok, còn diện tích, ngày tháng năm .... thì chưa thấy file **~** . có thấy file diện tích của anh kia nhưng còn bị lỗi, hôm nay là lần đầu mình đóng góp bài viết trên forums, mong các anh chị IT dành ít thời gian viết dùm em 2 file add-ins hoặc cho nó vô chung luôn.-\\/.-=.,,.xin chân thành cảm ơn trước. Cụ thể là:

Ngày tháng năm : thí dụ: 20/11/2014= ngày hai mươi tháng mười một năm hai ngàn không trăm mười bốn.
diện tích : thí dụ : 4567,5m2= bốn ngàn năm trăm sáu mươi bảy phẩy năm mét vuông.

Riêng với code đọc ngày tháng thì cũng khá dễ, tôi "chế" thế này:
Mã:
Function SpeakNum(Number) As String
  Dim MyArray, i As Long
  Dim Str As String, Str1 As String
  Str = Format(Fix(Abs(Number)), "000000000000000000")

  MyArray = Array("không ", "m" & ChrW(7897) & "t ", "hai ", "ba ", "b" & ChrW(7889) & "n ", _
                  "n" & ChrW(259) & "m ", "sáu ", "b" & ChrW(7843) & "y ", "tám ", "chín ", _
                  "tri" & ChrW(7879) & "u ", "ngàn ", "t" & ChrW(7927) & ", ", "tri" & ChrW(7879) & "u ", _
                  "ngàn ", "", "tr" & ChrW(259) & "m ", "m" & ChrW(432) & ChrW(417) & "i ", _
                  "không " & "m" & ChrW(432) & ChrW(417) & "i" & " không ", _
                  "không " & "m" & ChrW(432) & ChrW(417) & "i", "l" & ChrW(7867), _
                  "m" & ChrW(432) & ChrW(417) & "i" & " không", "m" & ChrW(432) & ChrW(417) & "i", _
                  "m" & ChrW(432) & ChrW(417) & "i" & " n" & ChrW(259) & "m", _
                  "m" & ChrW(432) & ChrW(417) & "i" & " l" & ChrW(259) & "m", _
                  "m" & ChrW(7897) & "t " & "m" & ChrW(432) & ChrW(417) & "i", _
                  "m" & ChrW(432) & ChrW(7901) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7897) & "t", _
                  "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7889) & "t")


  For i = 1 To Len(Str)
    If Left(Str, i) <> 0 And Mid(Str, (Int((i + 2) / 3) - 1) * 3 + 1, 3) <> 0 Then
      SpeakNum = SpeakNum & MyArray(Mid(Str, i, 1)) & MyArray(-(9 + i / 3) * (i Mod 3 = 0) - (15 + i Mod 3) * (i Mod 3 <> 0))
    ElseIf i = 9 And Mid(Str, 7, 3) = 0 And Left(Str, 6) <> 0 Then
      SpeakNum = SpeakNum & MyArray(12)
    End If
  Next
  SpeakNum = Trim(Replace(Replace(Replace(Replace(Replace(Replace(SpeakNum, MyArray(18), MyArray(15)), MyArray(19), MyArray(20)), MyArray(21), MyArray(22)), MyArray(23), MyArray(24)), MyArray(25), MyArray(26)), MyArray(27), MyArray(28)))
End Function
Function SpeakVIEDate(ByVal lDate As Date, Optional ByVal Separator As String = " ") As String
  Dim slb1 As String, slb2 As String, slb3 As String
  Dim sDay As String, sMonth As String, sYear As String
  Dim lDay As Long, lMonth As Long, lYear As Long
  
  slb1 = "ngày "
  slb2 = "tháng "
  slb3 = "n" & ChrW(259) & "m "
  
  lDay = Day(lDate)
  lMonth = Month(lDate)
  lYear = Year(lDate)
  
  sDay = SpeakNum(lDay)
  If lMonth = 1 Then
    sMonth = "giêng"
  ElseIf lMonth = 4 Then
    sMonth = "t" & ChrW(432)
  Else
    sMonth = SpeakNum(lMonth)
  End If
  sYear = SpeakNum(lYear)
  SpeakVIEDate = slb1 & sDay & Separator & slb2 & sMonth & Separator & slb3 & sYear
End Function
(bằng cách mượn hàm SpeakNum của bạn Huuthangbd)
-----------------
Sử dụng: Giả sử cell A1 chứa 20/11/2014. Vậy ta đọc số như sau:
=SpeakVIEDate(A1) ---> Kết quả là ngày hai mươi tháng mười một năm hai ngàn không trăm mười bốn
hoặc:
=SpeakVIEDate(A1, ", ") ---> Kết quả là ngày hai mươi, tháng mười một, năm hai ngàn không trăm mười bốn
 
thiệt ra mình không rành cái đưa lệnh vô excel, chỉ biết dùng file add-ins đưa vô thôi--=0. anh chị nào rành chế biến thành file add-ins dùm. chân thành cảm ơn .
 
thiệt ra mình không rành cái đưa lệnh vô excel, chỉ biết dùng file add-ins đưa vô thôi--=0. anh chị nào rành chế biến thành file add-ins dùm. chân thành cảm ơn .

Tạo AddIn dễ mà bạn:
- Mở 1 file excel trắng
- Bấm Alt+F11 (để vào cửa sổ lập trình)
- Trong cửa sổ lập trình, vào menu Insert, chọn Module (để chèn 1 module)
- Copy code trên diễn đàn về, paste vào cửa sổ bên phải của module vừa chèn
- Bấm Alt+Q để thoát khỏi cửa sổ lập trình, trở về bảng tính
- Bấm Ctrl+S để save file: Mục Save as type, chọn Excel Add-In. Mục File name đặt tên tùy ý
Vậy là xong!
Việc gọi Add-In và ứng dụng hàm trong Add-in.. chắc bạn đã biết?
-----------------------
Mọi việc nên tự mình làm (ít nhất 1 lần) cho rành... nhất là cái việc quá đơn giản này cũng không nên nhờ làm gì
 
Tạo AddIn dễ mà bạn:
- Mở 1 file excel trắng
- Bấm Alt+F11 (để vào cửa sổ lập trình)
- Trong cửa sổ lập trình, vào menu Insert, chọn Module (để chèn 1 module)
- Copy code trên diễn đàn về, paste vào cửa sổ bên phải của module vừa chèn
- Bấm Alt+Q để thoát khỏi cửa sổ lập trình, trở về bảng tính
- Bấm Ctrl+S để save file: Mục Save as type, chọn Excel Add-In. Mục File name đặt tên tùy ý
Vậy là xong!
Việc gọi Add-In và ứng dụng hàm trong Add-in.. chắc bạn đã biết?
-----------------------
Mọi việc nên tự mình làm (ít nhất 1 lần) cho rành... nhất là cái việc quá đơn giản này cũng không nên nhờ làm gì
để e thử, thanks a nhiều
 
đã học cách đưa code vô tạo thành add-ins, giờ xin ae cho 1 code số lẽ chuẩn theo miền nam. ví dụ : 1245,6 : một ngàn hai trăm bốn mươi lăm phẩy sáu. khỏi đơn vị tính. nhờ ae lần cuối hiii@$@!^%
 
Web KT

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

Back
Top Bottom