Nhờ hoàn chỉnh code CB_Tim trong Form (1 người xem)

Liên hệ QC

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

dongducnhiem

Thành viên tiêu biểu
Tham gia
21/3/07
Bài viết
637
Được thích
378
Chào các bạn thành viên!
Tôi có tải Form nhập dữ liệu trên GPE (lâu rồi không nhớ tác giả), tôi đã chỉnh sửa code của Form để cho fù hợp với bài thực tế của tôi, sau khi chỉnh sửa vẫn còn một chỗ chưa sửa được như sau:

tại Sheet Data, từ cell H10 trở xuống, bấm Ctrl+t sẽ hiện Form. tại TextBox NhomHang, tôi nhập từ: Chi, sau đó nhấn ComboBox Tìm, để tìm nhưng nó báo "No Ma" (File gốc của tác giả sẽ cho kết quả: những dòng nào có từ chi (bất kỳ vị trí nào trong dòng) sẽ hiện lên tại MH List)
Nhờ các bạn sửa giùm code khi nhập từ nào đó tại TextBox, mà nhấn CB_Tim, nếu những dòng nào thỏa điều kiện thì sẽ hiện lên tại MH List ListBox.
Đây là code của Form
PHP:
With Application
 .ScreenUpdating = False
End With
Dim endR As Long, i As Long, s As Long, k As Long
Dim arr(), arrKQ()
Dim MaHHTim As String
With Sheets("Note1")
  endR = .Cells(65000, 8).End(xlUp).Row
  arr = .Range(.Cells(10, 8), .Cells(endR, 10)).Value
End With
ReDim arrKQ(1 To endR, 1 To 3)
s = 0
MaHHTim = Me.NhomHang.Value
For i = 1 To UBound(arr)
  If InStr(arr(i, 1), UCase(MaHHTim)) Then
    s = s + 1
    For k = 1 To 3
      arrKQ(s, k) = arr(i, k)
    Next k
  End If
Next i
If s = 0 Then
  MsgBox "No Ma"
  Me.NhomHang.SetFocus
  With Me.MHList
    .ColumnCount = 5
    .List = arr
  End With
End If
With Me.MHList
  .Clear
  .ColumnCount = 5
  .List = arrKQ
End With
With Application
 .ScreenUpdating = False
End With
Erase arr(), arrKQ()
End Sub
Private Sub Nhap_Click()
On Error Resume Next
Dim j&, i&, SelectItem
With Application
  .ScreenUpdating = False
  .DisplayAlerts = False
End With
j = ActiveCell.Row
If ActiveSheet.Name = "Data" Then
  ActiveSheet.Select
  For i = 0 To MHList.ListCount - 1
    If MHList.Selected(i) Then
      Cells(j, 8) = MHList.List(i)
      Cells(j, 9) = MHList.List(i, 1)
      Cells(j, 10) = MHList.List(i, 2)
      j = j + 1
      SelectItem = 1
    End If
  Next
End If
If SelectItem = 0 Then
  MsgBox "Ban da khong chon ten nao trong danh sach !"
End If
  Unload Me
With Application
  .ScreenUpdating = True
  .DisplayAlerts = True
End With
End Sub
Private Sub NhomHang_AfterUpdate()
  CB_Tim.SetFocus
End Sub
Private Sub Thoat_Click()
  Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim endR As Long
Dim arr()
With Sheets("Note1")
  endR = .Cells(65000, 8).End(xlUp).Row
  arr = .Range(.Cells(10, 8), .Cells(endR, 10)).Value
End With
With Me.MHList
  .ColumnCount = 3
  .List = arr
End With
'MHList.Selected(0) = True
NhomHang.SetFocus
Erase arr
End Sub
Và code module
PHP:
Sub ShowDMHH()
On Error Resume Next
If ActiveSheet.Name = "Data" Then
  If ActiveCell.Row > 9 Then
    If ActiveCell.Row < 12000 Then
      If ActiveCell.Column = 8 Then
        FormDMMH.Show 1
        Cancel = True
End If: End If: End If: End If
End Sub

Mong các bạn giúp đỡ hòan thiện Form này.
Cảm ơn các bạn.
-------------------
P/s: Nếu trong code có chỗ nào chưa hoàn chỉnh, các bạn vui lòng sửa giùm
 

File đính kèm

Chào các bạn thành viên!
Tôi có tải Form nhập dữ liệu trên GPE (lâu rồi không nhớ tác giả), tôi đã chỉnh sửa code của Form để cho fù hợp với bài thực tế của tôi, sau khi chỉnh sửa vẫn còn một chỗ chưa sửa được như sau:

tại Sheet Data, từ cell H10 trở xuống, bấm Ctrl+t sẽ hiện Form. tại TextBox NhomHang, tôi nhập từ: Chi, sau đó nhấn ComboBox Tìm, để tìm nhưng nó báo "No Ma" (File gốc của tác giả sẽ cho kết quả: những dòng nào có từ chi (bất kỳ vị trí nào trong dòng) sẽ hiện lên tại MH List)
Nhờ các bạn sửa giùm code khi nhập từ nào đó tại TextBox, mà nhấn CB_Tim, nếu những dòng nào thỏa điều kiện thì sẽ hiện lên tại MH List ListBox.
...
Mong các bạn giúp đỡ hòan thiện Form này.
Cảm ơn các bạn.
-------------------
P/s: Nếu trong code có chỗ nào chưa hoàn chỉnh, các bạn vui lòng sửa giùm
Hình như code của tôi
Thêm hàm UCase vào câu dưới, UCase(Ar....)
PHP:
If InStr(UCase(arr(i, 1)), UCase(MaHHTim)) Then
 
Upvote 0
Web KT

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

Back
Top Bottom