-
09-03-2008, 07:50 PM #1Silver member
- Ngày tham gia
- Aug 2015
- Bài viết
- 25
Modules không thể viết chữ có dấu.
Có anh chị nào giúp em phần này với. Em coppy chương trình đổi số ra chữ trong excel nhưng khi em past modules này vào thì có thay đổi font chữ, em không tài nào sử được. pác nào biết giúp em với. Đoạn mã cụ thể như sau: Theo hướng dẫn là dùng unicode nhưng em viết nó cũng không cho
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
Khi tớ past qua nó thành thế này đây. không viết được bằng bãng mã nào hết.
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 FunctionView more random threads:
- canh lề khi in trong excel 2007
- vẽ đồ thị
- giúp em vài câu trắc nghiệm cơ bản của excel nha anh chị :)
- Công thức chuyển dữ liệu trong excel
- thắc mắc excel
- cách chuyển từ số sang chữ trong Excel
- sổ sách kế toán bằng excel theo hình thức nhật ký sổ cái?
- cách viết đúng
- Ai muốn làm bài tập excel thì vào làm cùng mình
- Tính tổng có điều kiện của nhiều vùng
-
09-03-2008, 09:04 PM #2Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Modules không thể viết chữ có dấu.
Em vào trang www.****************** để nhờ các bậc tiền bối nhé.Tại danketoan chỉ có mỗi Bằng Lăng là giỏi vụ này thôi, nhưng có lẽ BL bận nên chưa giúp bạn được đâu.
-
09-03-2008, 09:52 PM #3Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Modules không thể viết chữ có dấu.
Bạn vào đọc bài này nếu bạn đã có lưng vốn lập trình VBA:
http://**************/forum/showthread.php?p=193550#post193550
Nếu bạn không biết gì về VBA cả thì sang bên giaiphapexcel cho tiện. Bên đó có sẵn nhiều cái rất hay chỉ việc copy về rồi chạy.
Ở Hải Phòng, không quá khó để bạn tìm được shop Đồ chơi tình dục nữ, nơi bán các sản phẩm hỗ trợ cho các chị em. Trứng rung ái tình cũng là một trong số những sản phẩm giúp giải tỏa sinh lý cực kỳ...
Chày rung tình yêu Bắc Giang - Phân phối dụng cụ tình yêu cho nữ