Hiển thị ngày tháng năm

  • Thread starter Thread starter BNTT
  • Ngày gửi Ngày gửi
Liên hệ QC

BNTT

Bùi Nguyễn Triệu Tường
Thành viên danh dự
Tham gia
3/7/07
Bài viết
4,946
Được thích
23,208
Nghề nghiệp
Dạy đàn piano
Các bác ơi, tại sao cái định dạng ngày tháng năm của tui nó không theo trật tự gì hết:
+ Control Panel, đã đặt sẵn là dd/mm/yyyy
+ Format cell cũng chọn là dd/mm/yyyy
+ Textbox của form cũng format sẵn là dd/mm/yyyy
Vậy đó mà, sau khi nhập form xong, ra ngoài, có trường hợp thì nó hiển thị đúng, có lúc thì ra một con số, có lúc thì lại thành mm/dd/yyyy (nhất là những trường hợp ngày < 12.
Là sao vậy?
Vì không phải lúc nào nó cũng sai nên tui không gửi kèm cái file đó lên đây, nhưng hy vọng các bác hiểu.

Nhân tiện cho tui hỏi thêm:
format(A,"dd/mm/yyyy")

application.worksheetfunction.text(A,"dd/mm/yyyy")
là giống nhau hay khác nhau?

Cảm ơn các bác trước.
 
format(A,"dd/mm/yyyy")

application.worksheetfunction.text(A,"dd/mm/yyyy")
Theo tôi giống nhau, nhưng mà thường để lấy ngày nên dùng
DateSerial(Year(Cells(1, 2)), Month(Cells(1, 2)), Day(Cells(1, 2)))
Sub ngay()
Cells(1, 2) = Date
Cells(1, 3) = WorksheetFunction.Text(Cells(1, 2), "dd/mm/yyy")
Cells(1, 4) = Format(Cells(1, 2), "dd/mm/yyyy")
Cells(1, 5) = DateSerial(Year(Cells(1, 2)), Month(Cells(1, 2)), Day(Cells(1, 2)))
End Sub
Bạn thử sub này sẽ thấy.
Tôi chỉ biết sd mà không biết HD, bạn tìm trên 4R có file FormNgay-OB của Mr OkeBab, test ngày rất tuyệt vời.
Còn đi sâu nữa, tìm bài của Hai2Hai.
 
Em có ý kiến tí chút về 2 hàm này, vấn đề ngày tháng này các đại gia xây dựng phần mềm cũng nhức đầu lắm ạ. Trong 4R của mình cũng có mấy bài ngày tháng đó anh.
Mã:
[color=darkblue]Option[/color] [color=darkblue]Explicit[/color]
[color=darkblue]Sub[/color] showaboutme()
    frmAbout.Show
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
 
[color=darkblue]Sub[/color] SosanhFormatvaText()
[color=darkblue]Dim[/color] A [color=darkblue]As[/color] [color=darkblue]String[/color], B [color=darkblue]As[/color] [color=darkblue]String[/color], C [color=darkblue]As[/color] [color=darkblue]String[/color]
[color=darkblue]Dim[/color] KQF, KQT
[color=green]'quy dinh trong he thong la dd/MM/yyyy[/color]
 
[color=green]'************************************************************[/color]
[color=green]'bien A nhap dung quy dinh he thong (control Panel) (hieu la 10/apr/2007)[/color]
A = "10/4/2007"
KQF = Format(A, "dd/mmm/yyyy") [color=green]'-----> KQF = 10/Apr/2007[/color]
MsgBox "String A : " & A & vbCrLf & _
       "format(A, dd/mmm/yyyy) " & KQF & vbCrLf & _
        "----> Ham Format mac dinh lay theo kieu he thong"
KQT = Application.WorksheetFunction.Text(A, "dd/mmm/yyyy") [color=green]' -----> KQT = 4/Oct/2007[/color]
MsgBox "String A : " & A & vbCrLf & _
       "text(A, dd/mmm/yyyy) " & KQT & vbCrLf & _
        "----> ham Text hieu la thang truoc ngay sau (MM/dd/yyyy)"
 
[color=green]'************************************************************[/color]
[color=green]'bien B nhap khong dung quy dinh he thong (control Panel)[/color]
B = "9/13/2007"
KQF = Format(B, "dd/mmm/yyyy") [color=green]' -----> KQF = 13/Sep/2007[/color]
MsgBox "String B : " & B & vbCrLf & _
       "format(B,dd/mmm/yyyy) " & KQF & vbCrLf & _
       "Truong hop nay ham Format tu dong doi cach hieu bien B"
B = "13/9/2007"
KQT = Application.WorksheetFunction.Text(B, "dd/mmm/yyyy") [color=green]'------> KQT =13/9/2007[/color]
MsgBox "String B : " & B & vbCrLf & _
       "text(B,dd/mmm/yyyy) " & KQT & vbCrLf & _
        "----> ham Text hieu la thang truoc ngay sau (MM/dd/yyyy)," & vbCrLf & _
        " Nen ham Text khong nhan duoc bien B la mot ngay ---> KQt tra ve la String B"
 
[color=green]'************************************************************[/color]
[color=green]'bien C nhap khong phai la ngay thang[/color]
C = "13/13"
KQF = Format(C, "dd/mmm/yyyy") [color=green]' -----> KQF = 13/13/2007[/color]
MsgBox "String C : " & C & vbCrLf & _
       "format(C,dd/mmm/yyyy) " & KQF & vbCrLf & _
       "Truong hop nay ham Format tu dong doi cung khong hieu duoc bien C"
KQT = Application.WorksheetFunction.Text(C, "dd/mmm/yyyy") [color=green]'------> KQT =13/13/2007[/color]
MsgBox "String C : " & C & vbCrLf & _
       "text(C,dd/mmm/yyyy) " & KQT & vbCrLf & _
       "Truuong hop nay ham Text khong nhan duoc bien C la mot ngay ---> KQT tra ve la String C"
[color=darkblue]End[/color] Sub
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom