Định dang ngày trong TextBox trong Form.

Liên hệ QC

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
949
Được thích
175
Giới tính
Nữ
Chào các anh!!!!
Mong các anh giúp code để hiện ngày-tháng-năm trong TextBoxDate ạ.
Ví dụ em gõ: 8-26 và Enter thì trong TextBoxDate hiện 26-Aug-24 (dd-mmm-yy) ạ.
 

File đính kèm

  • TextBox.xlsm
    16.4 KB · Đọc: 10
Chào các anh!!!!
Mong các anh giúp code để hiện ngày-tháng-năm trong TextBoxDate ạ.
Ví dụ em gõ: 8-26 và Enter thì trong TextBoxDate hiện 26-Aug-24 (dd-mmm-yy) ạ.
Vậy mỗi năm lại đi chỉnh lại một lần sao.
Thử kích đúp chuột vào TextBoxDate rồi chọn ngày xem thế nào.
 

File đính kèm

  • TextBox.xlsm
    111.2 KB · Đọc: 6
Lần chỉnh sửa cuối:
Upvote 0
Sao không gõ kiểu: ddmmyy cho đỡ rắc rối cuộc đời nhỉ...(thêm 1 dấu gạch ngang lại mất thêm thao tác).
 
Upvote 0
. . . ;. code để hiện ngày-tháng-năm trong TextBoxDate ạ.
Ví dụ em gõ: 8-26 và Enter thì trong TextBoxDate hiện 26-Aug-24 (dd-mmm-yy) ạ.
(/ấn đề là dữ liệu trong cái TextBoxDate này ta sẽ làm gì tiếp theo;
Đừng nói là chỉ để ngắm không thôi nha!
. . . .
 
Upvote 0
Cám ơn anh @doredore1988 , đã đúng ý em rồi ạ.
@SA_DQ dữ liệu gán vào cột ngày trong sheet cũng có định dang dd-mmm-yy luôn ạ.
 
Upvote 0
Vậy thì có khi cũng chưa cần biến dữ liệu trong TextBoxDate này ngay & chờ khi gán, được không, dạng dd-mmm-yy?
Sao không gõ kiểu: ddmmyy cho đỡ rắc rối cuộc đời nhỉ...(thêm 1 dấu gạch ngang lại mất thêm thao tác).
Sao không là yyyyMMDD vậy?
 
Upvote 0
Bất kể hệ thống là ngày kiểu gì, dữ liệu nhập vào textbox luôn luôn là text.
Vậy để 1 cái tip, hoặc 1 mô tả trong label cách nhập (chẳng hạn yêu cầu nhập dd/mm/yyyy hoặc yêu cầu mm/dd/yy). Ai nhập sai thì ráng chịu.
Khi xử lý, dùng hàm DateSerial và Mid, Left, Right phù hợp với yêu cầu nhập.
Chẳng hạn hệ thống của tôi là ngày trước tháng sau, nhưng tôi cứ yêu cầu nhập tháng trước ngày sau kiểu mm/dd/yyyy
Khi xử lý trước tiên kiểm tra:
- độ dài phải 10 ký tự (phòng trường hợp gõ năm 2 số).
- Kiểm tra ngày bằng Val(Mid) không quá 31, tháng bằng Val(Left) không quá 12
- Dùng Dateserial để chuyển text thành ngày. Ngày 03 tháng 08 bị máy tính là 08 tháng 03 thì lỗi của người dùng.

1724082687500.png

Theo như bài 1 thì yêu cầu nhập là mm-dd thì cũng để Label mô tả và Control Tip text như vậy, và xử lý cũng vậy thôi.
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy thì có khi cũng chưa cần biến dữ liệu trong TextBoxDate này ngay & chờ khi gán, được không, dạng dd-mmm-yy?

Sao không là yyyyMMDD vậy?
Thiết kế gõ ngày tháng theo kiểu người dùng Việt đã quen rồi đó bác. Còn muốn xử lý dạng nào thì xử lý trong hậu trường bằng code VBA thôi bác. Chứ ép người ta gõ theo kiểu mình muốn thì sợ họ quên thì rách việc :).
 
Upvote 0
Thiết kế gì mà gõ tháng/ngày, rồi tự chuyển thành ngày/tháng.
Tôi là người dùng, gõ xong nhìn lại không giống cái mình gõ vào, tôi tá hỏa tam tính, ngỡ là phần mềm hư.

Có những thiết kế, mình bắt buộc phải cứng rắn, không thể chấp nhận người dùng gõ tùm lum. Nhưng người thiết kế giỏi phải biết rằng người dùng không hiểu chuyện gì xảy ra bên trong máy, đưa cho cái giao diện vặn vẹo người ta vừa dùng vừa chửi.
 
Upvote 0
Private Sub TextBox_cb_Initialize()
TextBox_cb = Format(TextBox_cb, "dd/mm/yyyy")

End Sub
 
Upvote 0
Chào các anh!!!!
Mong các anh giúp code để hiện ngày-tháng-năm trong TextBoxDate ạ.
Ví dụ em gõ: 8-26 và Enter thì trong TextBoxDate hiện 26-Aug-24 (dd-mmm-yy) ạ.
Về vấn đề ngày tháng trong textbox của userform, cứ chơi theo kiểu add 1 form Calendar (có sẵn nhiều trên mạng) vào.
Click vào đối tượng, hiện form Calendar rồi chọn ngày tháng (vừa nhanh, vừa đảm bảo được đúng định dạng, chứ vụ ngày tháng làm không khéo là khóc ròng đó).
 
Upvote 0
Về vấn đề ngày tháng trong textbox của userform, cứ chơi theo kiểu add 1 form Calendar (có sẵn nhiều trên mạng) vào.
Click vào đối tượng, hiện form Calendar rồi chọn ngày tháng (vừa nhanh, vừa đảm bảo được đúng định dạng, chứ vụ ngày tháng làm không khéo là khóc ròng đó).
Tôi không tin là dùng calendar có sẵn sẽ nhanh hơn gõ tay. Giả sử như chọn 1 ngày tháng trong quá khứ như ngày sinh 04/12/1961 thì phải thao tác bao nhiêu cái click?
Nếu tôi dùng 1 inputmask như __/__/____ thì chỉ gõ 8 ký số, gõ phím số bên trái thì 2 tay, gõ phím số bên phải thì 2 ngón.
 
Upvote 0
Về vấn đề ngày tháng trong textbox của userform, cứ chơi theo kiểu add 1 form Calendar (có sẵn nhiều trên mạng) vào.
Click vào đối tượng, hiện form Calendar rồi chọn ngày tháng (vừa nhanh, vừa đảm bảo được đúng định dạng, chứ vụ ngày tháng làm không khéo là khóc ròng đó).
Vấn đề là tiện cho nhu cầu cá nhân thôi, giống như biết VBA để tạo được 1 hàm tùy chỉnh để phụ vụ nhu cầu thì tại sao phải dùng 1 hàm dài nhiều logic phức tạp để làm việc, biết là có cách để mình chỉ cần gõ tháng ngày là ra kết quả mong muốn thì sao phải thay đổi sang phương thức phức tạp hơn.
 
Upvote 0
. . . ., biết là có cách để mình chỉ cần gõ tháng ngày là ra kết quả mong muốn thì sao phải thay đổi sang phương thức phức tạp hơn.
Sao ư?:
→ Để đồng nghiệp hay sép nể & phục!
→ Để tăng năng lực (kiến thức) sẵn sàng đáp ứng nhiệm vụ cao hơn
→ . . . . :D :D

@Chủ bài đăng:
Nhằm khắc phục tình trạng ". . người dùng, gõ xong nhìn lại không giống cái mình gõ vào, . . . tá hỏa tam tính, ngỡ là phần mềm hư."
Thì khi mở Form, ta cho nhập ngày hiện tại theo định dạng "DD-mmm-yyyy" vô tbDate đó trước
 
Lần chỉnh sửa cuối:
Upvote 0
Có lẽ thớt nhận ra cách làm này vô duyên quá nên xách dép chạy mất đất rồi.
 
Upvote 0
Bác @VetMini ơi, vì bài của anh @doredore1988 đã đúng ý em rồi ạ, nên mấy bác cứ vào bàn luận thoải mái ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom