tạo dấu ngăn cách ngày tháng / / trong textbox ngày tháng (2 người xem)

Liên hệ QC

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

Rùa Con 1080

Thành Viên Sao Chép 2
Tham gia
4/5/16
Bài viết
351
Được thích
47
Giới tính
Nữ
Chào các anh chị.
Xin các anh chị chỉ cách tạo dấu xổ trong textbox ngày tháng năm như trong form này.
như textbox [ngày cấp SĐĐ],Ngày Cấp HK]
Chúc các anh chị ngày vui.
 
Em tìm trong MrExel.com có code này, nhưng chưa đúng lắm.
Ví dụ em gỏ 10 tháng 10 năm 2017 thì đúng, nhưng gỏ 10 tháng 8 thì không tự hiện 10/08.
Mong các anh chị xem giúp.
 

File đính kèm

Upvote 0
Em tìm trong MrExel.com có code này, nhưng chưa đúng lắm.
Ví dụ em gỏ 10 tháng 10 năm 2017 thì đúng, nhưng gỏ 10 tháng 8 thì không tự hiện 10/08.
Mong các anh chị xem giúp.
Khuyên bạn đừng bao giờ dùng cách này, bởi:
- Chẳng ai đi dùng TextBox để nhập ngày tháng cả (dùng công cụ sai mục đích)
- Có làm được thì cũng không tính toán được. Chuỗi trên textbox dù là cái gì cũng chỉ là text, cho dù nhìn chúng giống dạng ngày tháng
Tôi nghĩ nên dùng DTPicker hay hơn. Liên quan đến việc dùng DTPicker, bạn phải download file mscomct2.ocx về cho vào thư mục C:\windows\system32 và đăng ký nó thì mới sử dụng được
 
Upvote 0
Cám ơn Thầy ndu.
Em hay thường lấy TextBox nhập ngày tháng năm, nhưng khi gán dữ liệu vào Sheet thì em convert nó thành Date,.
Tại vì em thấy tạo sẵn dấu cách này hay hay, nên cũng muốn sữ dụng.(đỡ phải gỏ dấu /)
 
Upvote 0
Upvote 0
Cám ơn Thầy ndu.
Em hay thường lấy TextBox nhập ngày tháng năm, nhưng khi gán dữ liệu vào Sheet thì em convert nó thành Date,.
Tại vì em thấy tạo sẵn dấu cách này hay hay, nên cũng muốn sữ dụng.(đỡ phải gỏ dấu /)
Xin hỏi: Bạn đã convert như thế nào? Có thể bật mí được không?
 
Upvote 0
Dạ khi ghi vào Sheet thì code như vầy ah (em cũng chả biết đúng không , vì nhờ người khác làm),nhưng em thấy khi đập vào sheet là định dạng Date
Mã:
Sheet2.Cells(irow + n, 2) = CDate(tb_Ngay)
Có gì, mong Thầy chỉ giáo.
 
Upvote 0
Dạ khi ghi vào Sheet thì code như vầy ah (em cũng chả biết đúng không , vì nhờ người khác làm),nhưng em thấy khi đập vào sheet là định dạng Date
Mã:
Sheet2.Cells(irow + n, 2) = CDate(tb_Ngay)
Có gì, mong Thầy chỉ giáo.
Tôi cũng đoán là bạn sẽ dùng CDate, nó gần tương tự như hàm DATEVALUE trên bảng tính và khẳng định đó là cách SAI LẦM. Lý do:
- Excel lấy thiết lập ngày tháng trong Control Panel làm chuẩn (chứ không phải bạn muốn gõ thế nào cũng được)
- Trong trường hợp bạn gõ trên textbox 2/8/2017 thì Excel sẽ xem đó là ngày 2 tháng 8 nếu Control Panel trên máy tính đang thiết lập d/M/yy và sẽ xem đó là ngày 8 tháng 2 nếu Control panel đang thiết lập M/d/yy
Vậy code của bạn nếu chỉ mình bạn xài trên máy của bạn thì không có vấn đề nhưng mang sang máy khác... hãy coi chừng ---> Sai 1 ly đi.. mút chỉ
--------------------
Bởi vậy mới khuyên bạn dùng DTPicker, đó mới là cách nhanh gọn, hợp lý mà không phải lo lắng về lâu dài
 
Upvote 0
Đúng là trên máy em (ở nhà và công ty) định dạng ngày tháng năm là: dd/MM/yyyy nên em thấy đúng(và file của em không đưa cho máy nào khác)
Cám ơn Thầy.
 
Upvote 0
Tôi cũng đoán là bạn sẽ dùng CDate, nó gần tương tự như hàm DATEVALUE trên bảng tính và khẳng định đó là cách SAI LẦM. Lý do:
- Excel lấy thiết lập ngày tháng trong Control Panel làm chuẩn (chứ không phải bạn muốn gõ thế nào cũng được)
- Trong trường hợp bạn gõ trên textbox 2/8/2017 thì Excel sẽ xem đó là ngày 2 tháng 8 nếu Control Panel trên máy tính đang thiết lập d/M/yy và sẽ xem đó là ngày 8 tháng 2 nếu Control panel đang thiết lập M/d/yy
Vậy code của bạn nếu chỉ mình bạn xài trên máy của bạn thì không có vấn đề nhưng mang sang máy khác... hãy coi chừng ---> Sai 1 ly đi.. mút chỉ
--------------------
Bởi vậy mới khuyên bạn dùng DTPicker, đó mới là cách nhanh gọn, hợp lý mà không phải lo lắng về lâu dài

Picker thường chỉ dùng cho dạng form có tính cách tìm kiếm, ví dụ như đặt ngày lấy vé máy bay.
Text entry nhanh hơn nếu form thuộc loại dùng để nhập dữ liệu.

Nói thì nói vậy, chứ theo yêu cầu của chủ thớt thì có lẽ dùng DateTimePicker là đúng rồi.
 
Upvote 0
Dạ khi ghi vào Sheet thì code như vầy ah (em cũng chả biết đúng không , vì nhờ người khác làm),nhưng em thấy khi đập vào sheet là định dạng Date
Mã:
Sheet2.Cells(irow + n, 2) = CDate(tb_Ngay)
Bạn hoàn toàn có thể dùng TextBox nhưng phải hướng dẫn người dùng cách nhập.
Tôi tin rằng người khác đã có dòng trong UserForm_Initialize
Mã:
TextBox1.Value = Format(Date, "Short Date")
để hướng dẫn cách gõ nhập ngày tháng.
Nếu bạn cải tiến và xóa dòng đó đi thì không nên ghi
vì nhờ người khác làm
vì lúc này không còn là của người khác nữa.
Nếu bạn sửa lại rồi đổ tội cho người khác thì ai còn dám giúp bạn?
 
Upvote 0
Em xin lỗi Thầy Batman1, vì kiến thức không có nên em nghĩ dòng đó cứ là lấy ngày hiện tại,mà trong form thì em có thề nhập nhiều ngày, nên em bỏ dòng đó.
và cứ nhiều file giống nhau, nên em cứ coppy qua lại giữa các file.
Mong Thầy tha lỗi cho em (đây là lần thứ hai em bỏ bớt code của Thầy rồi đưa lên DD , lần thứ nhất là hỏi các dấu "#", "$"...)
 
Upvote 0
phần đăng ký thì làm làm sao hả Thầy ndu?
phần đăng ký thì làm làm sao hả Thầy ndu?
- Download file mscomct2.ocx về cho vào thư mục C:\Windows\System32
- Bấm Start và gõ từ khóa cmd để tìm Command Prompt. Click phải lên Command Prompt, chọn Run as Adminitrator
- Trong cửa sổ CMD, gõ lệnh regsvr32 mscomct2.ocx và Enter
Vậy là xong!
Hướng dẫn trên áp dụng cho Windows 32 bit
 
Upvote 0
Em đăng ký bị lỗi Thầy ndu ơi.
Xin lỗi Thầy ndu, em gỏ lộn rồi.
Được rồi Thầy.
 

File đính kèm

  • mcsomct.png
    mcsomct.png
    36.4 KB · Đọc: 10
Upvote 0
Đăng ký được rồi, nhưng lấy DTPicker làm sao Thầy ndu.
 
Upvote 0
Web KT

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

Back
Top Bottom