Chuyển đổi ngày tháng sang chữ (1 người xem)

Liên hệ QC

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

nam739478

Thành viên mới
Tham gia
26/9/09
Bài viết
38
Được thích
2
tôi muốn đổi dạng ngày tháng sang chữ thì làm như thế nào?
VD tại A1 có dang 23/11/2012 sang A3 đổi thành "ngày hai mươi ba tháng mười một năm hai nghìn mười hai"
mong các Pro giup đỡ
mong sớm nhận được câu trả lời
 
tôi làm như thế này
ví dụ A1 = 26/11/2012
tại B1 ="Ngay "&vnd(DAY(A1))&" thang "&vnd(MONTH(A1))&" nam "&vnd(YEAR(A1))
kết quả cho: (ngày Hai mươi sáu tháng Mười một năm Hai ngàn, không trăm mười hai)
vậy làm sao tôi bỏ được dấu phẩy (,) ở chỗ năm hai ngàn không trăm mười hai vậy các Pro ơi
mong câu trả lời
Bạn phải gửi kèm cái add in của hàm vnd() lên kèm thì các anh, em mới biết cách sửa cho bạn chứ!
 
Upvote 0
add in là gì? tui ko biet
chỉ biết là đang dùng VNtools bản 1.1.4
 
Upvote 0
khi ấn Alt + F11 chỉ hiện lên 1 cửa sổ trắng tinh không có chữ gì cả
 
Upvote 0
To Vanle, em đã hiểu lý do sao em sai vì do em định dạng trong control panel!
To Anh "dongducnhiem", em làm cũng ra như trong file đây ạ.em không hiểu code viết gì, lệnh ra sao , em chỉ làm theo hướng dẫn của Thầy ndu thấy nó ra kết quả đúng...

Đây chính là cái sai nghiêm trọng của code (không phải bạn sai)
Đúng ra đã là code thì sẽ không vì setting trong Control Panel mà lại cho kết quả sai được
Nếu là tôi thì tôi làm như sau:
1> Lượm đại 1 code đọc số nào đó cảm thấy vừa ý cho vào code
2> Viết thêm 1 code đọc ngày tháng (dựa vào code đọc số đã có)
Ví dụ:
1> Tôi có code đọc số (lượm của bạn huuthang_bd) với cú pháp =DocSo(Number)
2> Giờ tôi viết thêm code đọc ngày tháng như sau:
Mã:
Function SpeakVIEDate(ByVal lDate As Long) 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 = DocSo(lDay)
  If lMonth = 1 Then
    sMonth = "giêng"
  ElseIf lMonth = 4 Then
    sMonth = "t" & ChrW(432)
  Else
    sMonth = DocSo(lMonth)
  End If
  sYear = DocSo(Year(lDate))
  SpeakVIEDate = slb1 & sDay & ", " & slb2 & sMonth & ", " & slb3 & sYear
End Function
Cú pháp đọc ngày tháng =SpeakVIEDate(A1) với A1 là ngày tháng nào đó
Code này không bị ảnh hưởng bởi setting trong control panel
Các bạn kiểm tra thử nhé (viết đại, chưa kiểm tra hết các trường hợp)
 

File đính kèm

Upvote 0
Đây chính là cái sai nghiêm trọng của code (không phải bạn sai)
Đúng ra đã là code thì sẽ không vì setting trong Control Panel mà lại cho kết quả sai được
Nếu là tôi thì tôi làm như sau:
1> Lượm đại 1 code đọc số nào đó cảm thấy vừa ý cho vào code
2> Viết thêm 1 code đọc ngày tháng (dựa vào code đọc số đã có)
Ví dụ:
1> Tôi có code đọc số (lượm của bạn huuthang_bd) với cú pháp =DocSo(Number)
2> Giờ tôi viết thêm code đọc ngày tháng như sau:
Mã:
Function SpeakVIEDate(ByVal lDate As Long) 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 = DocSo(lDay)
  If lMonth = 1 Then
    sMonth = "giêng"
  ElseIf lMonth = 4 Then
    sMonth = "t" & ChrW(432)
  Else
    sMonth = DocSo(lMonth)
  End If
  sYear = DocSo(Year(lDate))
  SpeakVIEDate = slb1 & sDay & ", " & slb2 & sMonth & ", " & slb3 & sYear
End Function
Cú pháp đọc ngày tháng =SpeakVIEDate(A1) với A1 là ngày tháng nào đó
Code này không bị ảnh hưởng bởi setting trong control panel
Các bạn kiểm tra thử nhé (viết đại, chưa kiểm tra hết các trường hợp)
1) Code của bác có sửa được "tháng bốn" thành "tháng tư" không a?
Hay bác sửa Code ở bài #6 cho em để sửa được vấn đề trên nhé
 
Upvote 0
Tạm thời OK rồi (em đã thử mấy trường hợp rồi)
Em muốn đổi tên cú pháp hàm là =HTNgay() thì thế nào a?

Bấm Alt + F11 vào code
Bấm Ctrl + H, thay chữ SpeakVIEDate thành HTNgay
Xong!
(Sao mà tôi ghét mấy cái biến, tên hàm, tên Sub tiếng Việt thế không biết ---> Nhìn nó chẳng ra làm sao cả ---> Một mai có thằng Tây nó vào xem, bảo đảm nó sẽ không bao giờ biết HTNgay là cái quỷ gì cả, nhưng nếu thấy chứ SpeakVIEDate, tôi tin nó biết đó là gì liền)
 
Upvote 0
Bấm Alt + F11 vào code
Bấm Ctrl + H, thay chữ SpeakVIEDate thành HTNgay
Xong!
(Sao mà tôi ghét mấy cái biến, tên hàm, tên Sub tiếng Việt thế không biết ---> Nhìn nó chẳng ra làm sao cả ---> Một mai có thằng Tây nó vào xem, bảo đảm nó sẽ không bao giờ biết HTNgay là cái quỷ gì cả, nhưng nếu thấy chứ SpeakVIEDate, tôi tin nó biết đó là gì liền)
Em đổi rồi
Nhưng có mấy khi có "thằng Tây" vào xem mà nhiều người Việt xem mà bác
Trong Code của bác không sử dụng chữ "mồng" cho những ngày nhỏ hơn 10 a?
Có phải do chính tả không cần dùng chữ "mồng" vậy bác
 
Upvote 0
Trong Code của bác không sử dụng chữ "mồng" cho những ngày nhỏ hơn 10 a?
Có phải do chính tả không cần dùng chữ "mồng" vậy bác

Khi tôi còn nhỏ, nghe các ông bà dạy rằng: Dùng "Mồng" (hoặc "Mừng") cho ngày Âm Lịch, còn Dương Lịch thì không dùng
Nếu bạn thích "MỒNG" cứ vào code mà sửa, chẳng hạn là vầy:
PHP:
If lDay <= 10 Then
    sDay = "m" & ChrW(7891) & "ng " & DocSo(lDay)
Else
    sDay = DocSo(lDay)
End If
Nhưng có mấy khi có "thằng Tây" vào xem mà nhiều người Việt xem mà bác
Bạn sai rồi... Bất cứ một trang web nào cũng có ước muốn mang tính TOÀN CẦU ---> Tức ai có nhu cầu đều phải nghĩ đến nó... và tôi nghĩ GPE cũng sẽ không ngoại lệ đâu
 
Lần chỉnh sửa cuối:
Upvote 0
Khi tôi còn nhỏ, nghe các ông bà dạy rằng: Dùng "Mồng" (hoặc "Mừng") cho ngày Âm Lịch, còn Dương Lịch thì không dùng
Nếu bạn thích "MỒNG" cứ vào code mà sửa
Giả sử em muốn thêm chữ "mồng" thì phải thêm Code vào chỗ nào vậy bác?
Vì đây là thêm Code chứ không phải sửa code. hi
 
Upvote 0
Web KT

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

Back
Top Bottom