định dạng ngày cho textbox (2 người xem)

Liên hệ QC

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

nguyendangkhoi

Thành viên chính thức
Tham gia
18/2/09
Bài viết
59
Được thích
5
Có cách nào mình định dạng được ngày tháng trên Textbox ở dạng mặc định mỗi khi load form là \ \ ( Tức là khi mở form lên trong ô tesbox sẽ hiện lên 2 dấu gạch chéo, mỗi khi mình gõ ngày 10 thì tự động nó nhảy sang sang 'dấu gạch chéo thứ 1' để mình nhập tháng 03 và khi nhập tháng xong thì nó nhảy sang 'dấu gạch chéo thứ 2' để mình nhập năm)

cám ơn các thầy cô
 
Có cách nào mình định dạng được ngày tháng trên Textbox ở dạng mặc định mỗi khi load form là \ \ ( Tức là khi mở form lên trong ô tesbox sẽ hiện lên 2 dấu gạch chéo, mỗi khi mình gõ ngày 10 thì tự động nó nhảy sang sang 'dấu gạch chéo thứ 1' để mình nhập tháng 03 và khi nhập tháng xong thì nó nhảy sang 'dấu gạch chéo thứ 2' để mình nhập năm)

cám ơn các thầy cô
TextBox mà dùng để nhập ngày tháng năm là thứ dở ẹt nhất trong các loại Object ---> Vừa tốn công "rào đón" tùm lum các thứ (sợ nhập sai số thành chử... sợ nhập không đúng định dạng.. vân vân...) ---> Thay vì loay hoay thế, sao bạn không dùng Calendar Control... Bảo đãm ăn chắc ---> Dể dùng, lại không bao giờ có chuyện nhập sai
Thêm nữa: Tôi chắc chắn rằng việc thao tác trên Calendar bao giờ cũng nhanh hơn gấp nhiều lần so với TextBox
 
Upvote 0
Bạn hướnng dẫn dùm cái vụ : Calendar Control... Thank.
 
Upvote 0
Có cách nào mình định dạng được ngày tháng trên Textbox ở dạng mặc định mỗi khi load form là \ \ ( Tức là khi mở form lên trong ô tesbox sẽ hiện lên 2 dấu gạch chéo, mỗi khi mình gõ ngày 10 thì tự động nó nhảy sang sang 'dấu gạch chéo thứ 1' để mình nhập tháng 03 và khi nhập tháng xong thì nó nhảy sang 'dấu gạch chéo thứ 2' để mình nhập năm)

cám ơn các thầy cô
Bạn thử ví dụ sau có phù hợp với nhu cầu của bạn không.
Trong ví dụ, sau khi nhập xong ngày/tháng/năm thì Enter để kiểm tra luôn dữ liệu Date vừa nhập có hợp lệ không.

TDN

 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Nếu bạn muốn dùng Calendar thì hãy làm như sau:
Trong VBE vào Tools>Additional Controls... và tick vào dòng Calendar Control... để xuất hiện Control Calendar trên ToolsBox, kéo nó lên Form và dùng bình thường.
Còn nếu không muốn dùng nó thì có thể làm như sau:
PHP:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With TextBox1
        If Len(.Text) < 10 Then
            Cancel = True
        Else 'Kiểm tra tính hợp lệ của ngày tháng
            Dim D%, Y%, M%
            D = Left(.Text, 2)
            M = Mid(.Text, 4, 2)
            Y = Right(.Text, 4)
            If DateSerial(Y, M, D) <> .Text Then Cancel = True
        End If
    End With
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
    If Len(TextBox1.Text) >= 10 Then KeyAscii = 0
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        If Len(.Text) = 2 Then .Text = .Text & "/"
        If Len(.Text) = 5 Then .Text = .Text & "/"
    End With
End Sub
 
Upvote 0
Cho em hỏi có cách nào gán macro cho cell nào đó để mình nhấn enter thì nó tự động chạy con macro đó không các bác.
 
Upvote 0
Bạn thử ví dụ sau có phù hợp với nhu cầu của bạn không.
Trong ví dụ, sau khi nhập xong ngày/tháng/năm thì Enter để kiểm tra luôn dữ liệu Date vừa nhập có hợp lệ không.

TDN

Mình thử nhập 29/2/2009 mà vẫn hiện 'ngay hop le' (???)
 
Upvote 0
Xin hỏi cách cài đặt calendar controls trong Additional

- Xin hỏi các anh chị cách cài đặt calendar controls trong Additional controls (VBA) để em sử dụng cho textbox trong userform (định dạng ngày tháng mặc định), trong máy em không có chế độ này, rất mong mọi người giúp đỡ.
 
Upvote 0
Web KT

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

Back
Top Bottom