Vương Minh Đăng
Vương Minh Đăng
Thảo luận 12 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 312 lượt xem

Em nhập ngày tháng trên form xong là nó cứ bị hiển...

Em nhập ngày tháng trên form xong là nó cứ bị hiển thị đảo ngày và tháng mặc dù em đã định dạng trước ô đó là dd/mm/yyyy
Thảo luận 12 câu trả lời
Lượt xem 312 lượt xem
Vỗ tay vỗ tay
Vương Minh Đăng 16:11 - Nov 16, 2018
Chào bạn, về sau hiểu rõ hơn bạn sẽ tìm hiểu áp dụng ràng buộc kiểm tra dữ liệu người dùng nhập vào textbox. Nếu người dùng nhập vào không đúng theo định dạng ngày tháng năm mình quy định thì sẽ báo lỗi, và yêu cầu nhập lại chính xác bạn nhé!

Riêng về Format, chỉ có mục đích định dạng, chứ không phải là thay đổi bản chất dữ liệu bạn nhé!
Vỗ tay vỗ tay
Vương Minh Đăng 16:11 - Nov 16, 2018
dạ, mà em không tìm được bài giảng về vấn đề đó ạ :(, em có tham khảo trên mạng mà cũng không thành công, thầy nói rõ hơn giúp em với
Vỗ tay vỗ tay
Vương Minh Đăng 16:11 - Nov 16, 2018
Bạn xem lại nội dung Chương 10 nhé! Trong đó có các bài giảng về kiểm tra dữ liệu, bạn tùy biến lại cho ngày tháng năm là được nhé!
Vỗ tay vỗ tay
Vương Minh Đăng 17:11 - Nov 16, 2018
Private Sub btnInsert_Click()
Dim dong_cuoi As Long
dong_cuoi = Sheet2.Range("B10000").End(xlUp).Row + 1

If WorksheetFunction.CountIf(Sheet2.Range("C:C"), Me.txtCMND) > 0 Then
MsgBox "CMND da ton tai!", vbCritical
Exit Sub
End If
If WorksheetFunction.CountIf(Sheet2.Range("D:D"), Me.txtSDT) > 0 Then
MsgBox "SDT da ton tai!", vbCritical
Exit Sub
End If
With Sheet2
.Range("B" & dong_cuoi) = txtHoTen.Text
.Range("C" & dong_cuoi) = txtCMND.Text
.Range("D" & dong_cuoi) = txtSDT.Text
.Range("E" & dong_cuoi) = txtNgaySinh.Text
Range("E" & dong_cuoi).Select
Selection.NumberFormat = "m/d/yyyy"
.Range("I" & dong_cuoi) = txtGhichu.Text

If cbMB.Value = True Then
.Range("F" & dong_cuoi) = "x"
End If
If cbFE.Value = True Then
.Range("G" & dong_cuoi) = "x"
End If
End With
With Me
.txtHoTen = ""
.txtCMND = ""
.txtSDT = ""
.txtNgaySinh = ""
.txtGhichu = ""
cbMB.Value = False
cbFE.Value = False

End With
End Sub

Em làm như trên để định dạng ngày tháng mà không được, thầy xem giúp e sai chỗ nào với ạ :(
Vỗ tay vỗ tay
Vương Minh Đăng 17:11 - Nov 16, 2018
Cùng nhóm với IF THEN kiểm tra, bạn tham khảo code sau:
'====
If Not IsDate(txtNgaysinh.Text) Then
MsgBox "Vui long nhap dung ngay thang nam sinh: mm/dd/yyyy"
txtNgaysinh.SetFocus
Exit Sub
End If
Vỗ tay vỗ tay
Vương Minh Đăng 18:11 - Nov 16, 2018
Ý của em là làm sao khi e nhập trên form 4/12/2018 thì khi submit nó hiển thị đúng như vậy, không bị đảo ngược thành 12/4/2018 ấy ạ
Vỗ tay vỗ tay
Vương Minh Đăng 18:11 - Nov 16, 2018
Bạn hiển thị hẳn trên Label của Textbox yêu cầu người dùng nhập theo đúng thứ tự như vậy. Và dùng hàm CDATE để convert TEXTBOX sang giá trị tương ứng.
Vỗ tay vỗ tay
Vương Minh Đăng 18:11 - Nov 16, 2018
Ngoài ra bạn có thể định dạng, và chuyển đổi tương ứng.
If Not IsDate(txtNgaysinh.Text) Then
MsgBox "Vui long nhap dung ngay thang nam sinh: mm/dd/yyyy"
txtNgaysinh.SetFocus
Exit Sub
ELSE
txtNgaysinh.Text = Format(CDATE(txtNgaysinh.Text), "mm/dd/yyyy")
End If
Vỗ tay vỗ tay
Vương Minh Đăng 19:11 - Nov 16, 2018
Dạ vẫn không ra đúng kết quả thầy ạ
Thầy sửa vào file của em giúp em với ạ
https://drive.google.com/file/d/1RIlM...
Vỗ tay vỗ tay
Vương Minh Đăng 08:11 - Nov 17, 2018
Bạn thêm format ngay sau phần đã gán vào sheet rồi thì kết quả không đúng là phải rồi còn gì nữa bạn?

Bạn phải thêm vào trước khi gán vào sheet mới đúng nhé! Ngoài ra nên viết kèm hàm IF THEN như gợi ý bên trên để kiểm tra xem dữ liệu ngày tháng năm nhập có đúng không bạn nhé!
Vỗ tay vỗ tay
Vương Minh Đăng 11:11 - Nov 17, 2018
Em cám ơn, tình hình là vẫn không được ạ
Vỗ tay vỗ tay
Vương Minh Đăng 12:11 - Nov 18, 2018
Ngày tháng năm thường do thiết lập Region trong Control Panel quy định. Nếu bạn muốn người dùng nhập theo quy định của Form, thì bạn cần kiểm tra nội dung nhập. Và dùng hàm Split để tách ra theo dấu "/" , rồi dùng hàm ngày tháng trong VBA xử lý lại bạn nhé.
Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông