Code kiểm tra dữ liệu trước khi nhập liệu từ Form

Liên hệ QC

anhtotbung35

Thành viên hoạt động
Tham gia
16/2/09
Bài viết
149
Được thích
26
Nghề nghiệp
Kế toán
Bài tập mình có 2 yêu cầu:
- Nhập liệu vào Sheets "Data" từ Form nhập liệu. Mình đã xử lý được
- Mình muốn khi nhập liệu, 2 combobox trên Form nhập liệu kiểm tra ở Sheets "TTin", nếu Nơi gửi và Nơi nhận đã có trên Sheets "TTin" thì không nhập vào, còn nếu chưa có thì nhập vào dòng cuối cùng của Sheets "TTin". Sau đó sắp xếp lại từng cột Nơi gửi và Nơi nhận của Sheets ""TTin".

Nhờ các bạn giúp mình!
 

File đính kèm

  • Nhap lieu.xls
    53.5 KB · Đọc: 16
Bài tập mình có 2 yêu cầu:<br>
- Nhập liệu vào Sheets "Data" từ Form nhập liệu. Mình đã xử lý được<br>
- Mình muốn khi nhập liệu, 2 combobox trên Form nhập liệu kiểm tra ở Sheets "TTin", nếu Nơi gửi và Nơi nhận đã có trên Sheets "TTin" thì không nhập vào, còn nếu chưa có thì nhập vào dòng cuối cùng của Sheets "TTin". Sau đó sắp xếp lại từng cột Nơi gửi và Nơi nhận của Sheets ""TTin".<br>
<br>
Nhờ các bạn giúp mình!
<br>

Mình làm giúp bạn cái combobox noigui thôi, còn combobox còn lại bạn tự nghiên cứu nhé, cũng tương tự. Mình làm một sub kiểm tra và add ở bên module1 và sửa lại cho bạn phần lấy data vào combobox cho gọn hơn. Bạn xem file nhé
 

File đính kèm

  • Nhap lieu.xls
    68 KB · Đọc: 26
Upvote 0
<br>

Mình làm giúp bạn cái combobox noigui thôi, còn combobox còn lại bạn tự nghiên cứu nhé, cũng tương tự. Mình làm một sub kiểm tra và add ở bên module1 và sửa lại cho bạn phần lấy data vào combobox cho gọn hơn. Bạn xem file nhé
Cảm ơn kyo, nhưng đây là bài tập để post lên. Chứ file của mình không chỉ có 2 cột noigui và nguoi nhan, mà có thể lên tới 10 cột.
Mình cũng đã làm thử rồi và đã chạy, nhưng mình cảm thấy cứ mỗi cột nhưng vậy mình lại Dim một lần, nhìn thấy rối quá. Bạn có thể giúp mình làm cho gọn được không?
 
Upvote 0
Cảm ơn kyo, nhưng đây là bài tập để post lên. Chứ file của mình không chỉ có 2 cột noigui và nguoi nhan, mà có thể lên tới 10 cột.
Mình cũng đã làm thử rồi và đã chạy, nhưng mình cảm thấy cứ mỗi cột nhưng vậy mình lại Dim một lần, nhìn thấy rối quá. Bạn có thể giúp mình làm cho gọn được không?
PHP:
Sub AddData(cbbox As String, sh As Object, col As String)
Dim arrRC
If sh.Range(col & "2").Value = "" Then Exit Sub
arrRC = sh.Range(sh.Range(col & "2"), sh.Range(col & "65536").End(xlUp)).Value
If IsArray(arrRC) Then
    Nhaplieu.Controls(cbbox).List() = arrRC
Else
    Nhaplieu.Controls(cbbox).AddItem arrRC
End If
End Sub

Bạn có thể chèn 1 code chung này vào 1 module rồi ứng với mỗi cột bạn dùng Call AddData("tên combobox", sheet chứa dữ liệu, "cột chứa dữ liệu") (lưu ý là dữ liệu ở hàng số 2 trở xuống nhé, nếu muốn có hàng nữa thì thêm hàng vào). Vậy sẽ khỏe hơn nếu có nhiều cột, hì hì
 
Upvote 0
PHP:
Sub AddData(cbbox As String, sh As Object, col As String)
Dim arrRC
If sh.Range(col & "2").Value = "" Then Exit Sub
arrRC = sh.Range(sh.Range(col & "2"), sh.Range(col & "65536").End(xlUp)).Value
If IsArray(arrRC) Then
    Nhaplieu.Controls(cbbox).List() = arrRC
Else
    Nhaplieu.Controls(cbbox).AddItem arrRC
End If
End Sub

Bạn có thể chèn 1 code chung này vào 1 module rồi ứng với mỗi cột bạn dùng Call AddData("tên combobox", sheet chứa dữ liệu, "cột chứa dữ liệu") (lưu ý là dữ liệu ở hàng số 2 trở xuống nhé, nếu muốn có hàng nữa thì thêm hàng vào). Vậy sẽ khỏe hơn nếu có nhiều cột, hì hì
Mình thử rồi, nhưng chưa rõ Call đặt ở chỗ nào. Mình thử nhập vào noigui và nguoinhan moi. Sheets Data thì cập nhật, nhưng Sheets TTin không cập nhật.
Bạn có thể xem lại giúp mình file nhé
 

File đính kèm

  • Nhap lieu (GPE).xls
    70.5 KB · Đọc: 11
Upvote 0
Do mình không hiểu ý bạn nói, thì ra bạn muốn thêm dữ liệu chứ không phải là lấy dữ liệu -0-/.. Mình đã sửa lại trong file của bạn rồi đó, bạn nghiên cứu thử xem nhé. /-*+/
 

File đính kèm

  • Nhap lieu (GPE).xls
    70.5 KB · Đọc: 22
Upvote 0
Web KT
Back
Top Bottom