Định dạng ngày tháng năm trong sheet khi xuất từ textbox UserForm

Liên hệ QC

eherols

Thành viên mới
Tham gia
17/8/21
Bài viết
15
Được thích
1
Trong Form của mình có 02 ô để nhập ngày, mình đã sử dụng Cdate để xuất ra định dạng Date khi vào sheet nhưng nó bị lỗi phải nhập tiếp ngày 2 thì mới nhập được, các bạn giúp mình xem làm như thế nào để nhập ngày 1 mà không cần nhập ngày 2 hoặc ngược lại,Untitled.png
2.png
3.png
 
dùng câu lệnh if thôi bạn check xem textbox đó có được nhập không. ví dụ if textbox1.text <> "" then cell = cdate()
 
Upvote 0
Trong Form của mình có 02 ô để nhập ngày, mình đã sử dụng Cdate để xuất ra định dạng Date khi vào sheet nhưng nó bị lỗi phải nhập tiếp ngày 2 thì mới nhập được, các bạn giúp mình xem làm như thế nào để nhập ngày 1 mà không cần nhập ngày 2 hoặc ngược lại,View attachment 264496
View attachment 264497
View attachment 264498
Có khả năng dạng ngày tháng nhập trong text box không đúng qui định của VBA
 
Upvote 0
Nếu vẫn chưa được thì bạn khai báo 1 tham biến kiểu Date
& bước đầu thử ân chuỗi trong TextBox1 (hay 2 thì tùy) vô tham biến cái đã, xem VBE có cự nực gì không;
Chỉ khi không cự nự gì thí ta mới ân trị trong tham biến xuống trang tính.

Khi trơn tru 2 bước này bạn tự ngẫm lại sự đời sao trước mình hành chưa được.

Chúc các bạn vui khỏe trãi qua đợt dịch này!
 
Upvote 0
Chỉ có bạn quanluu đọc và hiểu.

Người ta đã viết rất rõ:
nhưng nó bị lỗi phải nhập tiếp ngày 2 thì mới nhập được, các bạn giúp mình xem làm như thế nào để nhập ngày 1 mà không cần nhập ngày 2 hoặc ngược lại,

Tức nếu chỉ nhập ngày 1 mà không nhập ngày 2 thì bị lỗi ở dòng
cells(dong_cuoi, 8) = CDate(ngaytgdt.Value) ' ngay2

Nhưng nếu nhập cả 2 ngày thì không có lỗi - phải nhập tiếp ngày 2 thì mới nhập được.

Như vậy không thể là người ta nhập ngày ở dạng không cho phép, vì khi nhập cả 2 ngày thì không có lỗi cơ mà, chứng tỏ người ta biết cách nhập đúng và đã nhập đúng. Còn lỗi khi không nhập ngày 2 là dễ hiểu vì:

cells(dong_cuoi, 8) = CDate(ngaytgdt.Value) = CDate(CHUỖI RỖNG) <- LỖI.
 
Upvote 0
Chuyện này phải sở hữu xe MadZa may ra mới hiểu được ý của tác giả bài đăng!
 
Upvote 0
Mình đã tìm được cách rồi ạ, thêm dòng on error resume next là ok
 
Upvote 0
Đấy không phải là cách tốt. Chỉ dùng để "xử lý" các lỗ
Mình đã tìm được cách rồi ạ, thêm dòng on error resume next là ok
Đó không phải cách tốt, chỉ dùng để "xử lý" các lỗi không lường trước được. Còn lỗi này lường trước được, có lỗi khi TextBox rỗng. Vậy thì kiểm tra - dùng IF như bài #2 người ta hướng dẫn thôi.

Tất nhiên vẫn có thể có lỗi khi trong TextBox không là ngày tháng mà là vd. "Ngày mai em đi". Không thể "ép" (CDate) "Ngày mai em đi" thành ngày tháng được. Để đề phòng những kẻ "phá hoại" kiểu đó thì dùng On Error ... cũng được :D
 
Upvote 0
Mình đã tìm được cách rồi ạ, thêm dòng on error resume next là ok
(/ậy là bạn xài thuốc đarinăng cho tất cả các loại bệnh rồi, xin chúc mừng!

Cái hay của mệnh đề lệnh này là vui cũng xài được, mà buồn cũng đặng!
 
Upvote 0
(/ậy là bạn xài thuốc đarinăng cho tất cả các loại bệnh rồi, xin chúc mừng!

Cái hay của mệnh đề lệnh này là vui cũng xài được, mà buồn cũng đặng!
Bác Sa ơi, có những thứ tuyệt bổ nhưng đôi khi cũng tuyệt độc. "Phúc thống phục nhân sâm tắc tử", vậy bác đừng xui dùng thuốc như vậy có ngày nên oán đấy.
Tạo form mà để lệnh này là tối hạ sách, CSDL sau này thủng lỗ chỗ vì để trống nó cũng nhập mà nhập sai nó cũng nhập và người nhập không biết mình sai. Dữ liệu trước khi nhập vào cần phải kiểm tra kỹ tính hợp lệ thì việc khai thác về sau mới đầy đủ được.Kiểu dữ liệu của bạn thường là Từ ngày -- Đến ngày, vậy không có ngày đến thì biết sử lý làm sao? Thực sự việc nhập ngày tháng trên Userform là cả 1 vấn đề chứ tạo form VN mà nhập kiểu Anh, Mỹ thì cũng lắm khi bực mình.
 
Upvote 0
Bác . . . ơi, có những thứ tuyệt bổ nhưng đôi khi cũng tuyệt độc. "Phúc thống phục nhân sâm tắc tử", vậy bác đừng xui dùng thuốc như vậy có ngày nên oán đấy.
. . . . .
Mình biết chứ & biết cả cách nên xài câu lệnh này ở dòng gần cuối Sub nữa mà.

Nhưng ông bà ta cũng nói: 'Đi với bụt mặt áo cà sa, đi với ma (nên) mặt áo dấy'

[Tiếc là xưa chưa có Madza chứ có chắc Ô. & bà ta sẽ thêm (hay thay) bỡi câu . . . Đi Madza chỉ cần mặt mỗi áo!

. . . . . Kiểu dữ liệu của bạn thường là Từ ngày -- Đến ngày, vậy không có ngày đến thì biết sử lý làm sao?
Xử theo mặc định giao kèo tại tòa, rằng thì là mà: Nếu để trống ngày cuối, sẽ phải lấy ngày hiện tại;
Còn để trống ngày đầu thì lấy ngày sinh của ai đó theo 2ui ước, như ngày chết của vĩ nhân nào đó, ví dụ Bin Laden, Mao . . . . .


Chúc các bạn vui khõe trãi qua mùa dịch tai ác!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom