vungoc
Find Sexy Womans from your town for night
- Tham gia
- 2/8/06
- Bài viết
- 633
- Được thích
- 2,604
- Giới tính
- Nam
- Nghề nghiệp
- Search
1- MÔ TẢ:
Trong files excel mình thiết kế việc nhập liệu trên UserForm để ghi dữ liệu xuống sheet, trong UserForm này có rất nhiều textbox, combobox và câu lệnh để xử lý - trong đó có một Textbox Ngayvaolam (dùng để nhập liệu ngày vào làm của người lao động, gõ theo định dạng DD/MM/YYY);
1.1- Textbox Ngayvaolam được gắn đọan code như sau:
Private Sub Ngayvaolam_AfterUpdate()
Me.Ngayvaolam = SuaNgay(Me.Ngayvaolam)
End Sub
1.2- Còn đây là câu lệnh SuaNgay:
Public Function SuaNgay(NgayBatKy)
If Not IsDate(NgayBatKy) Then
MsgBox "Ngay khong hop le"
SuaNgay = Date
Else
ws = NgayBatKy
WP = InStr(1, ws, "/")
WDD = Left(ws, WP - 1)
ws = Mid(ws, WP + 1)
WP = InStr(1, ws, "/")
If WP = 0 Then
WMM = ws: WYY = Year(Date)
Else
WMM = Left(ws, WP - 1)
WYY = Mid(ws, WP + 1)
End If
SuaNgay = DateSerial(WYY, WMM, WDD)
End If
End Function
2- VẤN ĐỀ:
2.1- Thời gian trước đây khi nhập liệu trên UserForm, mình gõ vào Textbox Ngayvaolam nêu trên theo định dạnh dd/mm/yyyy - ví dụ: gõ ngày 08/06/2007, kết quả dữ liệu ghi xuống bảng tính excel hiển thị 08/06/2007 - đúng như mình gõ.
2.2- Nay (sau một thời gian có phát triển thêm một số chức năng, câu lệnh trên UseForm), cũng trên UserForm nói trên, mình gõ vào Textbox Ngayvaolam nêu trên theo định dạnh dd/mm/yyyy - Khi nhập liệu gõ 08/06/2007, kết quả dữ liệu ghi xuống bảng tính excel hiển thị 06/08/2007 - Vị trí ngày và tháng đổi ngược nhau - không đúng như mình gõ (điều này không mong muốn).
(Ghi chú:
- Trong Regional and language options & trong format excel mình đã định dạng theo dd/mm/yyyy.
- Cũng câu lệnh và textbox nêu trên mình thiết kế một chương trình khác thì kết quả được như 2.1).
Là người chưa có nhiều kiến thức và kinh nghiệm đối với VBA. Mong sớm nhận được sự quan tâm trả lời của các anh chị cách thức xử lý vấn đề 2.2 !
Thanks !
Trong files excel mình thiết kế việc nhập liệu trên UserForm để ghi dữ liệu xuống sheet, trong UserForm này có rất nhiều textbox, combobox và câu lệnh để xử lý - trong đó có một Textbox Ngayvaolam (dùng để nhập liệu ngày vào làm của người lao động, gõ theo định dạng DD/MM/YYY);
1.1- Textbox Ngayvaolam được gắn đọan code như sau:
Private Sub Ngayvaolam_AfterUpdate()
Me.Ngayvaolam = SuaNgay(Me.Ngayvaolam)
End Sub
1.2- Còn đây là câu lệnh SuaNgay:
Public Function SuaNgay(NgayBatKy)
If Not IsDate(NgayBatKy) Then
MsgBox "Ngay khong hop le"
SuaNgay = Date
Else
ws = NgayBatKy
WP = InStr(1, ws, "/")
WDD = Left(ws, WP - 1)
ws = Mid(ws, WP + 1)
WP = InStr(1, ws, "/")
If WP = 0 Then
WMM = ws: WYY = Year(Date)
Else
WMM = Left(ws, WP - 1)
WYY = Mid(ws, WP + 1)
End If
SuaNgay = DateSerial(WYY, WMM, WDD)
End If
End Function
2- VẤN ĐỀ:
2.1- Thời gian trước đây khi nhập liệu trên UserForm, mình gõ vào Textbox Ngayvaolam nêu trên theo định dạnh dd/mm/yyyy - ví dụ: gõ ngày 08/06/2007, kết quả dữ liệu ghi xuống bảng tính excel hiển thị 08/06/2007 - đúng như mình gõ.
2.2- Nay (sau một thời gian có phát triển thêm một số chức năng, câu lệnh trên UseForm), cũng trên UserForm nói trên, mình gõ vào Textbox Ngayvaolam nêu trên theo định dạnh dd/mm/yyyy - Khi nhập liệu gõ 08/06/2007, kết quả dữ liệu ghi xuống bảng tính excel hiển thị 06/08/2007 - Vị trí ngày và tháng đổi ngược nhau - không đúng như mình gõ (điều này không mong muốn).
(Ghi chú:
- Trong Regional and language options & trong format excel mình đã định dạng theo dd/mm/yyyy.
- Cũng câu lệnh và textbox nêu trên mình thiết kế một chương trình khác thì kết quả được như 2.1).
Là người chưa có nhiều kiến thức và kinh nghiệm đối với VBA. Mong sớm nhận được sự quan tâm trả lời của các anh chị cách thức xử lý vấn đề 2.2 !
Thanks !
Lần chỉnh sửa cuối: