Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    CODE đổi số thành chữ.

    Giả sử bạn có file excel để in Phiếu thu(chi) chẳng hạn, và bạn muốn mỗi khi gõ số tiền vào phiếu bằng số tại ô A1 thì chương trình tự đọc ra số tiền bằng chữ tại ô A2, Bạn làm như sau:
    - Đầu tiên, bạn copy đoạn code sau đây(có chữ màu xanh), tiếp theo mở file Excel In phiếu thu chi ra/ Vào menu Tool/Macro--->Visual Basic Editor(hoặc bấm Atl+F11)
    - Màn hình Visual hiện ra(đen đen đấy), bạn lại vào Menu Insert/ và bấm vào Module
    - Một màn hình trắng toát hiện ra, bây giờ bạn hãy Past đoạn code đã copy lúc nãy vào, sau cùng bấm vào Save để lưu lại.
    - Cuối cùng, bạn bấm close để đóng cửa sổ Visual Basic Editor này lại trở về Excel
    - Lúc bây giờ, tại ô A2(tức là ô mà bạn muốn hiện số tiền bằng chữ) bạn gõ vào công thứ: =VND(A1)
    - Lập tức chương trình sẽ tự đọc số tiền bằng số mà bạn gõ vào ô A1
    - Tại ô A2(ô hiện số tiền bằng chữ ) bạn hãy chọn font: VNI-TIMES vì đoạn code được viết theo font này.
    Lưu ý: Ô A1 và A2 ở đây là tôi lấy ví dụ, khi làm bạn nhớ đổi lại cho đúng địa chỉ theo nhu cầu.
    * Đoạn code cần copy(copy đoạn code màu xanh):

    Public Function VND(BaoNhieu)
    If Val(BaoNhieu) = 0 Then
    Ketqua = "Khoâng ñoàng"
    Else
    If Abs(BaoNhieu) > 1E+15 Then
    Ketqua = "Soá quaù lôùn"
    Else
    If BaoNhieu < 0 Then Ketqua = "Tröø" & Space(1) Else Ketqua = Space(0)
    SOTIEN = Format(Abs(BaoNhieu), "###############0.00") '18coät soá 2soá leû
    SOTIEN = Right(Space(15) & SOTIEN, 18-)
    Hang = Array("None", "traêm", "möôi", "gì ñoù")
    DONVI = Array("None", "ngaøn tyû", "tyû", "trieäu", "ngaøn", "ñoàng", "xu")
    Dem = Array("None", "moât", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín")
    For N = 1 To 6
    Nhom = Mid(SOTIEN, N * 3 - 2, 3)
    If Nhom <> Space(3) Then
    Select Case Nhom
    Case "000"
    If N = 5 Then
    Chu = "ñoàng" & Space(1)
    Else
    Chu = Space(0)
    End If
    Case ".00", ",00"
    Chu = "chaün"
    Case Else
    S1 = Left(Nhom, 1): S2 = Mid(Nhom, 2, 1): S3 = Right(Nhom, 1)
    Chu = Space(0): Hang(3) = DONVI(N)
    For K = 1 To 3
    Dich = Space(0): S = Val(Mid(Nhom, K, 1))
    If S > 0 Then
    Dich = Dem(S) & Space(1) & Hang(K) & Space(1)
    Else
    If K = 1 And N > 1 And N < 6 And Val(Mid(SOTIEN, (N - 1) * 3 - 2, 3)) > 0 Then
    Dich = "khoâng" & Space(1) & Hang(K) & Space(1)
    End If
    End If
    Select Case K
    Case 2 And S = 1
    Dich = "möôøi" & Space(1)
    Case 3 And S = 0 And Nhom <> Space(2) & "0"
    Dich = Hang(K) & Space(1)
    Case 3 And S = 5 And Val(S2) > 2
    Dich = "l" & Mid(Dich, 2)
    Case 2 And S = 0 And S3 <> "0"
    If N > 1 And Val(Mid(SOTIEN, (N - 1) * 3 - 2, 3)) > 0 Or (Val(S1) > 0) Then
    Dich = "leû" & Space(1)
    End If
    End Select
    Chu = Chu & Dich
    Next K
    End Select
    ViTri = InStr(1, Chu, "möôi moät")
    If ViTri > 0 Then Mid(Chu, ViTri, 9) = "möôi moát"
    Ketqua = Ketqua & Chu
    End If
    Next N
    End If
    End If
    VND = UCase(Left(Ketqua, 1)) & Trim(Mid(Ketqua, 2))
    End Function

  2. #2
    Ngày tham gia
    Feb 2016
    Bài viết
    0
    Ðề: CODE đổi số thành chữ.

    sao không dùng addin cho nó tiện, hiện nay các addin đổi số thành chữ rất nhiều mà

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: CODE đổi số thành chữ.

    Nó đọc ra sẽ lỗi thế này này: đồng = ñoàng; ngàn ="ngaøn ; tỷ = "tyû",; triệu = "trieäu",

    Làm thế nào để sửa font add ins đó nhỉ?

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: CODE đổi số thành chữ.




    Trích dẫn Gửi bởi hoanghaiha
    sao không dùng addin cho nó tiện, hiện nay các addin đổi số thành chữ rất nhiều mà
    Cho minh hoi them la la, sao de luu lai de lan sau k fai copy code do lan nua, muon no mac dinh luon do. chi cho minh voi nha. cam on nhieu

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •