Nhập liệu trên Form excel

Liên hệ QC

sen.1406

Thành viên mới
Tham gia
18/11/17
Bài viết
2
Được thích
0
Giới tính
Nữ
Chào các anh chị, em mới tập tành làm việc trên excel và có một số vấn đề, mong các anh chị giúp đỡ em với.
1. Em tạo form nhập liệu trên excel như thế này. Chỗ nhập ngày tháng trên form. Dù em đã chỉnh định dạng ngày dd/mm/yyyy ở control panel và format cells nhưng nó vẫn bị đảo lộn ngày và tháng. Ở trên file đính kèm, em đã định dạng là text chống chế. Anh chị nào chỉ em khắc phục vấn đề với ạ.
2. Trên form nhập liệu. Khi nhập xong 1 textbox, em có thói quen bấm TAB để nhảy qua textbox khác để điền thông tin tiếp. Nhưng ở form em tạo, khi bấm tab, nó sẽ không nhảy qua phần kế bên mà nhảy lung tung. Có cách nào khắc phục không ạ?
3. Trong file của em, nếu 1 hộ, em sẽ merge cột stt lại và tính thành 1 hộ, bao gồm các nhân khẩu được merge lại. Nhưng vấn đề đặt ra là nếu hộ đó tăng thêm số người thì có cách nào khi nhập vào form, excel tự insert thêm 1 row trong phần hộ đó không ạ?
Các anh chị giúp em với. Em cảm ơn nhiều ạ!
 

File đính kèm

Lần chỉnh sửa cuối:
(1) Bạn nên xài thêm hàm này
PHP:
Function TextToDate(StrC As String) As Date
 Dim Nm As Integer, Th As Byte, Ng As Byte, VTr As Byte

 Nm = CInt(Right(StrC, 4))
 VTr = InStr(StrC, "/")
 If VTr Then
    Ng = CByte(Left(StrC, VTr - 1)):            StrC = Mid(StrC, VTr + 1, 3)
    VTr = InStr(StrC, "/"):                     Th = CByte(Left(StrC, VTr - 1))
    TextToDate = DateSerial(Nm, Th, Ng)
 Else
    MsgBox "Nhâp Sai!", , "GPE.COM Iêu Câu Nhâp: 'DD/MM/yyyy'"
 End If
End Function

Khi đó đổi lại dòng lệnh:
Mã:
.Range("T" & getLR) = txtNgDen.Text
Bỡi dòng lệnh
PHP:
.Range("T" & getLR) = TextToDate(txtNgDen.Text)

(+) Bạn nên gán vô Control Me!txtNgDen hướng dẫn để người dùng nhập theo dạng chuỗi "dd/MM/yyyy" duy nhất
(+) Một khi đã nhập đíng cho trường [Ngày Đi] & [Ngày Đén] rồi, thì ta nên áp dụng cho trường [Ngày Sinh] luôn; Có vậy bạn mới tận dụng để tính tuôi người có dữ liệu sau này.

(2) Bạn sắp xếp lại thuộc tính TabIndex theo trật tự mà bạn muốn có;

(3) Không nên chèn dòng trong những trường hợp này
(Nhưng chuyện này dài dòng lắm; . . . . . )
 
Con người đa số sợ màu đỏ. Vì vậy mình thường thiết lập là khi người dùng nhập sai định dạng ngày tháng, lập tức số liệu nhập chuyển sang màu đỏ để thông báo người dùng nhập sai và nên kèm theo hướng dẫn cách nhập. Thân.
 
(1) Bạn nên xài thêm hàm này
PHP:
Function TextToDate(StrC As String) As Date
 Dim Nm As Integer, Th As Byte, Ng As Byte, VTr As Byte

 Nm = CInt(Right(StrC, 4))
 VTr = InStr(StrC, "/")
 If VTr Then
    Ng = CByte(Left(StrC, VTr - 1)):            StrC = Mid(StrC, VTr + 1, 3)
    VTr = InStr(StrC, "/"):                     Th = CByte(Left(StrC, VTr - 1))
    TextToDate = DateSerial(Nm, Th, Ng)
 Else
    MsgBox "Nhâp Sai!", , "GPE.COM Iêu Câu Nhâp: 'DD/MM/yyyy'"
 End If
End Function

Khi đó đổi lại dòng lệnh:
Mã:
.Range("T" & getLR) = txtNgDen.Text
Bỡi dòng lệnh
PHP:
.Range("T" & getLR) = TextToDate(txtNgDen.Text)

(+) Bạn nên gán vô Control Me!txtNgDen hướng dẫn để người dùng nhập theo dạng chuỗi "dd/MM/yyyy" duy nhất
(+) Một khi đã nhập đíng cho trường [Ngày Đi] & [Ngày Đén] rồi, thì ta nên áp dụng cho trường [Ngày Sinh] luôn; Có vậy bạn mới tận dụng để tính tuôi người có dữ liệu sau này.

(2) Bạn sắp xếp lại thuộc tính TabIndex theo trật tự mà bạn muốn có;

(3) Không nên chèn dòng trong những trường hợp này
(Nhưng chuyện này dài dòng lắm; . . . . . )

E cảm ơn ạ.
3. :( Có thể cho em biết tại sao không nên chèn dòng không ạ? Tại em tính nếu không thể điền form để chèn thì em nhập trực tiếp trên bảng tính ạ. Vì yêu cầu cần phải quản lý theo hộ gồm những nhân khẩu nào. Có ảnh hưởng gì đến việc mình thống kê sau này không vậy ạ?
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom