[Giúp đỡ] Hoàn thiện userform tìm kiếm khách hàng (2 người xem)

  • Thread starter Thread starter GTK-PM
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

GTK-PM

Thành viên thường trực
Tham gia
10/11/13
Bài viết
313
Được thích
15
Kính gửi: Anh/ Chị
Do bảng tính của em rất nhiều khách hàng, nên em muốn nhờ anh chị GPE giúp đỡ hoàn thiện userform tìm kiếm để tiện cho công việc.
User form và ý tưởng em đã nêu ở bên dưới, rất mong anh chị hoàn thiện phần nốt phần code. Em chân thành cám ơn.
 

File đính kèm

Nếu là mình thì tất tần tật các trang về khách hàng sẽ gôm thành 1 trang mà thôi;

Trong Excel mã khách hàng nên có độ dài như nhau; Tránh tình trạng có mã khách hàng (KH) CN1 & sau đó lại có CN10, hay VT1 & VT10,.. . .
Đây có thể sẽ là lỗi tiềm ẩn & lúc nào đó nó bộc phát làm bạn mất phương hướng (như tìm kiếm, lọc AdvancedFilter,. . . )
 
Upvote 0
Bạn có thể đóng góp cách xử lý bài này giúp mình được không?
 
Upvote 0
Bạn có thể đóng góp cách xử lý bài này giúp mình được không?
Bạn thiết kế lại file như anh Hoang2013 đã góp ý thử xem chứ file như bài 1 thì hơi rắc rối
Mình làm thử theo yêu cầu bài 1. Bạn xem thử (Trong file có sử dụng hàm Filter2DArray của thầy NDu)
 

File đính kèm

Upvote 0
@PacificPR Do dữ liệu của mình đang theo dõi cần chi tiết, và rất nhiều nên không thể gộp vào 1 bảng tính được như Hoang2013
Về File bạn đã gửi rất ổn và hợp lý, đúng với yêu cầu bài 1. Mình xin cảm ơn bạn nhiều !
 
Upvote 0
Bạn cho rằng xây dựng 1 CSDL tương đối chuẩn rồi thì không thể theo dõi chi tiết được ư?
Các trang dữ liệu của bạn có rất nhiều đòng trống/trắng. (Chứng tỏ nó chưa là 1 CSDL khả dĩ trong vận hành.)
. . . . .
 
Upvote 0
-@ PacificPR trong file của mình có sử dụng đoạn code của thầy ndu, vậy khi mình ẩn tất cả các sheet trên thì user form tìm kiếm lại không liên kết được tới các sheet. Rất mong được giải quyết vấn đề này.
Mã:
Option Explicit
Sub Link2Sh()
  With ActiveSheet
    With Sheets(.Shapes(Application.Caller).AlternativeText)
      .Visible = True: .Select
    End With
    .Visible = 2
  End With
End Sub
Sub ShowAllShs()
  Dim Sh As Worksheet
  Application.ScreenUpdating = False
  On Error Resume Next
  With Sheet5.Shapes("Rounded Rectangle 5").TextFrame.Characters
    For Each Sh In ThisWorkbook.Worksheets
      If Sh.Name <> "TRANGCHU" Then
        Sh.Visible = .Text = "SHOW ALL"
      End If
    Next
    .Text = IIf(.Text = "SHOW ALL", "HIDE ALL", "SHOW ALL")
  End With
  Application.ScreenUpdating = True
End Sub
 
Upvote 0
-@ PacificPR trong file của mình có sử dụng đoạn code của thầy ndu, vậy khi mình ẩn tất cả các sheet trên thì user form tìm kiếm lại không liên kết được tới các sheet. Rất mong được giải quyết vấn đề này.
Thêm dòng lệnh hiện Sheet chắc là được
Bạn thêm dòng này vào CommandButton6_Click
Mã:
  Sheets(NameSh).Visible = True
Vào dưới dòng
Mã:
If Dk = True Then
thử xem sao
 
Upvote 0
Thêm dòng lệnh hiện Sheet chắc là được
Bạn thêm dòng này vào CommandButton6_Click
Mã:
  Sheets(NameSh).Visible = True
Vào dưới dòng
Mã:
If Dk = True Then
thử xem sao
Mã:
Sheets(NameSh).Visible = True
Đã hiện được sheet cần tìm kiếm, vậy tìm kiếm được tới sheet theo yêu cầu nhưng mình muốn ẩn bỏ sheet "TRANG CHU" chỉ để sheet đang làm việc.
 
Upvote 0
Mã:
Sheets(NameSh).Visible = True
Đã hiện được sheet cần tìm kiếm, vậy tìm kiếm được tới sheet theo yêu cầu nhưng mình muốn ẩn bỏ sheet "TRANG CHU" chỉ để sheet đang làm việc.
Thì bạn cho chạy Code ẩn Sheet để lại Sheet chủ. Rồi lại mở sheet cần đến lên (Thêm Sub Link2Sh vào trên dòng mới thêm vào ) thử xem nha
 
Upvote 0
Bạn sửa luôn đoạn code cho mình với, mình sửa mà không được.
Bạn thay cái cũ bằng cái này thử
Mã:
Private Sub CommandButton6_Click()
    Dim Ws As Worksheet, I As Long, NameSh As String, Dk As Boolean
On Error Resume Next
Dk = False
I = ListBox1.ListIndex
NameSh = ListBox1.List(I, 0)
For Each Ws In Worksheets
    If Ws.Name <> "TRANGCHU" Then
        If Ws.Name <> NameSh Then Ws.Visible = False
        If Ws.Name = NameSh Then
            Dk = True
            Ws.Visible = True
             Exit For
        End If
    End If
Next
If Dk = True Then
    Sheets(NameSh).Select
Else
    MsgBox "Khong co Sheet nao ten la " & NameSh & ". Hay kiem tra lai"
End If
Unload Me
End Sub
À Quên mất Thêm cái Exit For vào nữa chứ
 
Lần chỉnh sửa cuối:
Upvote 0
Em vừa được PacificPR tạo cho 1 đoạn code dùng cho userform tìm kiếm theo Danh mục. (Nội dung code đều sưu tầm từ các bài của thầy)
Kết quả là đã liên kết được tới các sheet, nhưng khi đến các sheet làm việc thì muốn xem hay chỉnh sửa rất khó. ( em đã hỏi PacificPR nhưng cũng chưa tìm ra nguyên nhân).
Lỗi tại sheet như sau: + Bấm lên xuống trái phải, không tự chạy các hàng các cột. (Nếu sử dụng thủ công để đến các sheet thì bảng tính hoạt động bình thường.)
+ Chỉ chỉnh sửa đc các ô, khi click chuột vào ô đó. Nếu sử dụng nút Delete thì không xóa được. (Nếu sử dụng thủ công để đến các sheet thì bảng tính hoạt động bình thường.)
+ Khi tắt tất cả bảng tính (ở sheet đang làm việc) thì không tắt được mà phải dùng tổ hợp phím Cltr + Alt + Del. Hoặc nếu muốn thoát bình thường thì phải quay về sheet" TRANGCHU".
Do bị xóa bài nên đăng lại ở đây để nhờ mọi người giúp đỡ !
 

File đính kèm

Upvote 0
Anh befaint cho em hỏi chút sao em thực hiện lênh .Select (Chuyển tới Sheet) trên Form không được anh nhỉ
 
Upvote 0
Mình đã xem file, nhưng Ô tìm kiếm trong userform lỗi không tìm kiếm được. ( ảnh đính kèm bên dưới )
Và bạn cho mình hỏi nguyên nhân chính là ở đâu vậy .
Bạn thêm dòng
Set Dic = CreateObject("Scripting.Dictionary") vào dưới dòng Private Sub UserForm_Initialize()
Quên lại đi lấy cái hàm Filter2DArray chế để làm (Hôm trước đã bị Thầy NDu nói rồi mà ...:p)
 
Upvote 0
Web KT

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

Back
Top Bottom