Tạo nút tìm và cập nhật vùng dữ liệu trên userform

Trạng thái
Không mở trả lời sau này.
Mọi người giúp mình xem sai ở phần nào mà nút tìm kiếm không thực thi
với chỉ giúp mình code cập nhật dữ liệu.
file số 1: file này tìm trên mạng làm nút tìm kiếm như file này áp dụng vào file THÔNG TIN NV, nhưng không được, kể cả nút cập nhật.

do không up file excel lên được. minh share link:
 
S

Snow24

Guest
nguyễn Thành Quang
Bạn thử cái code tìm kiếm này xem nhé.
Mã:
Private Sub CommandButton5_Click()
Dim Rng As Range, B1 As Range
If TextBox29.Value = Empty Then MsgBox " nhap ma so nhan vien": Exit Sub
Set Rng = Worksheets("DS").Range([B3], [B3].End(xlDown))
Set B1 = Rng.Find(UserForm1.TextBox29, , xlValues, xlWhole)
            If Not B1 Is Nothing Then
            srow = B1.Row
                    With UserForm1
                    .TextBox23 = Worksheets("DS").Range("B" & srow).Offset(, 2)
                    .ComboBox1 = Worksheets("DS").Range("B" & srow).Offset(, 26)
                    .TextBox26 = Worksheets("DS").Range("B" & srow).Offset(, 25)
                    .TextBox8 = Worksheets("DS").Range("B" & srow).Offset(, 9)
                    .ComboBox2 = Worksheets("DS").Range("B" & srow).Offset(, 24)
                    .TextBox10 = Worksheets("DS").Range("B" & srow).Offset(, 10)
                    .TextBox9 = Worksheets("DS").Range("B" & srow).Offset(, 11)
                    .TextBox28 = Worksheets("DS").Range("B" & srow).Offset(, 29)
                    .TextBox27 = Worksheets("DS").Range("B" & srow).Offset(, 34)
                    End With
          Else
                    MsgBox "KHONG CO MA KHACH HANG NAY"
           End If
                    
End Sub
 

vbano1

SMod
Thành viên BQT
1. Mục đích bạn muốn làm gì. Lấy thông tin từ cái gì, load vào đâu. Tìm kiếm thì tìm kiếm cái gì, nguồn dữ liệu ở đâu.
Vẫn có thể trình bày cho dễ hiểu hơn, hãy trình bày làm sao để bất cứ ai cũng hiểu được.
2. File số 1: Làm thế nào để sử dụng được file này. File này sử dụng như thế nào?
Mình hoàn toàn không hiểu câu chuyện của bạn nên không giúp được gì.
 

giaiphapvba

Administrator
Thành viên BQT
Đúng là rất khó hiểu. Vừa xem, người đọc vừa phải suy nghĩ. Bạn nên cải thiện cách trình bày để bất cứ ai cũng hiểu được.
1. Mục đích: Bạn muốn quản lý thông tin nhân sự (hoặc sinh viên, hay bán hàng gì đó).
2. Bối cảnh:
Bạn cần đăng nhập để thấy hình ảnh

Vậy câu chuyện của bạn nằm ở đâu?
Người đọc hình dung câu chuyện có khả năng nằm ở ba vị trí khoanh đỏ dưới đây.
Bạn cần đăng nhập để thấy hình ảnh

3. Thiết kế dữ liệu:
Để bất cứ ai cũng hiểu được câu chuyện của bạn thì bạn cần trình bày thiết kế dữ liệu trong trường hợp này, đừng bắt người khác phải dò hay đoán. Nếu là sếp đã bận túi bụi với bao nhiêu lịch họp, cấp dưới:
-Anh xem cho em cái này sao không chạy, kèm theo hai cái file như bạn đưa. => Họ sẽ không hài lòng. Hãy trình bày để bất cứ ai cũng hiểu được, trình bày như thế nào để dễ hiểu nhất.
Bạn cần đăng nhập để thấy hình ảnh

Chưa cần biết code như thế nào, đầu tiên, hãy trình bày để bất cứ ai cũng hiểu được. Đừng để người khác phải đoán, hoặc tự mò mẫm. Đó là điều dần dần bạn sẽ quen khi tham gia tuhocvba.net
Mong bạn trưởng thành hơn, và hãy sửa lại bài viết cho dễ hiểu hơn.
 

tuhocvba

Administrator
Thành viên BQT
@Snow24 : Không hiểu phải xác nhận chứ :)
@nguyễn Thành Quang : Cố gắng đứng trên lập trường người đọc để trình bày cho dễ hiểu hơn.
Mà cái nút Thêm với Cập Nhật, hình như thừa à bạn? MSNV nếu phát hiện là mới thì tự động ghi trên dòng mới. Nếu phát hiện tồn tại trên dòng x thì cập nhật thông tin vào dòng x. Hai nút thì chỉ cần một nút thôi cũng được.

Ý kiến cá nhân của mình thôi. Vì biết đâu bạn có lý do nào khác.
 

Euler

Administrator
Thành viên BQT
Không rõ câu chuyện là gì, thôi thì tự ý phán đoán:
Bạn cần đăng nhập để thấy hình ảnh

File dữ liệu bắt đầu từ dòng B3, trong đó B2 là tiêu đề. Nhưng code bạn để là B9.
Nếu sửa là B2 như code dưới đây, thì mình thấy tìm kiếm được rồi đấy.
Mã:
Set Rng = Worksheets("DS").Range([B2], [B2].End(xlDown))
 
nguyễn Thành Quang
Bạn thử cái code tìm kiếm này xem nhé.
Mã:
Private Sub CommandButton5_Click()
Dim Rng As Range, B1 As Range
If TextBox29.Value = Empty Then MsgBox " nhap ma so nhan vien": Exit Sub
Set Rng = Worksheets("DS").Range([B3], [B3].End(xlDown))
Set B1 = Rng.Find(UserForm1.TextBox29, , xlValues, xlWhole)
            If Not B1 Is Nothing Then
            srow = B1.Row
                    With UserForm1
                    .TextBox23 = Worksheets("DS").Range("B" & srow).Offset(, 2)
                    .ComboBox1 = Worksheets("DS").Range("B" & srow).Offset(, 26)
                    .TextBox26 = Worksheets("DS").Range("B" & srow).Offset(, 25)
                    .TextBox8 = Worksheets("DS").Range("B" & srow).Offset(, 9)
                    .ComboBox2 = Worksheets("DS").Range("B" & srow).Offset(, 24)
                    .TextBox10 = Worksheets("DS").Range("B" & srow).Offset(, 10)
                    .TextBox9 = Worksheets("DS").Range("B" & srow).Offset(, 11)
                    .TextBox28 = Worksheets("DS").Range("B" & srow).Offset(, 29)
                    .TextBox27 = Worksheets("DS").Range("B" & srow).Offset(, 34)
                    End With
          Else
                    MsgBox "KHONG CO MA KHACH HANG NAY"
           End If
                  
End Sub
Mình Xin lỗi đã phản hồi chậm. do bận việc nhà
Mình thật sự cảm ơn bạn rất là nhiều, đã làm như code của bạn và ok phần tìm kiếm.
 

tuhocvba

Administrator
Thành viên BQT
Vậy cho phép tôi close topic này ở đây, vấn đề của bạn đã được giải quyết.
Bạn chú ý không quote cả bài viết, nếu cần trích dẫn, hãy lược bỏ để chỉ lấy câu trích dẫn cần thiết.
Muốn nhắn tới ai, dùng cấu trúc @tên_nick.
@nguyễn Thành Quang
Muốn cảm ơn, hãy sử dụng nút Like. Muốn trò chuyện riêng, bạn vào . Trong các bài viết mang tính học thuật, liên quan tới code, chú ý không spam.
Cảm ơn bạn đã tham gia diễn đàn, chúc bạn thu hoạch được nhiều kiến thức và gặp gỡ được nhiều người bạn ở đây.
 
Trạng thái
Không mở trả lời sau này.
Top