doanhhoang79
Thành viên hoạt động
- Tham gia
- 31/3/08
- Bài viết
- 142
- Được thích
- 18
Có ai có mẫu tìm kiếm dữ liệu trong Form không? Tôi đang muốn tham khảo
Ai biết chỉ cho tôi với,
Cảm ơn,
Ai biết chỉ cho tôi với,
Cảm ơn,
Bạn xem file này nhé: Tìm kiếm với 3 điều kiện MÃ, TÊN và ĐƠN VỊEm "mò" rồi nhưng vẫn không ra nên mới nhờ các bác hi..hi,
Theo cách của các bác đúng là hay lắm nhưng nhiều khi lĩnh vực này em thấy cũng khá phức tạp, chẳng han:
Kết hợp rất nhiều điều kiện để đang dạng hoá việc tìm kiếm như: gõ mã số; nếu không nhớ mã số thì gõ họ tên, hoặc chỉ cần gõ tên vào textbox,...
các cách của các bác mới chỉ có một ý thôi. Như vậy bắt buộc người nhập phải nhớ một thứ gì đó.
Private Sub TextBox1_Change()
Dim Clls As Range, Temp As Variant, i As Long, FCol As Long
Application.ScreenUpdating = False
FCol = -(OptionButton1.Value + 2 * OptionButton2.Value + 3 * OptionButton3.Value)
If Len(Trim(TextBox1.Value)) = 0 Then Exit Sub
With Sheet1.Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp)).Resize(, 3)
Temp = .Value
.Sort .Cells(2, FCol), 1, Header:=xlGuess
.AutoFilter FCol, TextBox1.Value & "*"
ListBox1.Clear
For Each Clls In .Offset(1).Resize(, 1).SpecialCells(12)
ListBox1.AddItem (Clls)
ListBox1.List(i, 1) = Clls(, 2)
ListBox1.List(i, 2) = Clls(, 3)
i = i + 1
Next
.AutoFilter
.Value = Temp
End With
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
OptionButton1.Value = 1
End Sub
hì, tội nghiệp bác quá nhỉ, chẳng ai giúp. Code thì giữ nguyên, bạn chỉ cần format toàn bộ vùng dữ liệu đó sang dạng text là ok ngay thôi mà.Mình không thể tìm kiếm bằng số , mã hàng minh toàn bằng số thôi nế không thể tìm đươc thì tức lắm , minh đã kiếm file này lâu lăm rồi&&&%$r
Mình không thể tìm kiếm bằng số , mã hàng minh toàn bằng số thôi nế không thể tìm đươc thì tức lắm , minh đã kiếm file này lâu lăm rồi&&&%$r
hì, tội nghiệp bác quá nhỉ, chẳng ai giúp. Code thì giữ nguyên, bạn chỉ cần format toàn bộ vùng dữ liệu đó sang dạng text là ok ngay thôi mà.
Chúc vui!
Option Explicit
Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
With Sheet1
.[D:D].Clear: .[D1] = "ExtraID"
.[D2].FormulaR1C1 = "=""F"" & RC1": .[D2].Copy
.Range("D2:D" & .Range("A65536").End(xlUp).Row).PasteSpecial
.[A1].Select
End With
End Sub
'==========================================================================
Private Sub UserForm_Terminate()
With Sheet1
.[D:D].Clear
.[A:A].NumberFormat = "General"
End With
Application.ScreenUpdating = True
End Sub
'==========================================================================
Private Sub TextBox1_Change()
Dim Clls As Range, Temp As Variant, i As Long, FCol As Long, Txb
FCol = -(OptionButton1.Value + 2 * OptionButton2.Value + 3 * OptionButton3.Value)
If OptionButton1.Value = True Then FCol = 4: Txb = "F" & TextBox1.Value Else Txb = TextBox1.Text
If Len(Trim(TextBox1)) = 0 Or TextBox1 = "" Then ListBox1.Clear: Exit Sub
With Sheet1.Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp)).Resize(, 4)
Temp = .Value
.Sort .Cells(2, FCol), 1, Header:=xlGuess
.AutoFilter FCol, Txb & "*"
ListBox1.Clear
For Each Clls In .Offset(1).Resize(, 1).SpecialCells(12)
ListBox1.AddItem (Clls)
ListBox1.List(i, 1) = Clls(, 2)
ListBox1.List(i, 2) = Clls(, 3)
i = i + 1
Next
.AutoFilter
.Value = Temp
End With
End Sub
Anh ndu! có thể tạo tiêu đề trong ListBox được không. Tiêu đề giống như trong Sheet1 (Mã|Họ và Tên|Đơn vị). Nếu có tiêu đề thì dễ nhìn dữ liệu hơn, phải không anh.
Anh Trọng Nghĩa! Làm theo cách của anh thì không thể tìm kiếm được khi kết hợp với code tìm kiếm của anh ndu. Thực hiện như code của anh ndu nhưng trong listbox có thêm hàng tiêu đề.
Private Sub TextBox1_Change()
Dim sArray, FindArray, fCol As Long, fRow As Long
sArray = Sheet1.Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp)).Resize(, 3).Value
fCol = -(OptionButton1.Value + 2 * OptionButton2.Value + 3 * OptionButton3.Value)
FindArray = Filter2DArray(sArray, fCol, TextBox1.Text & "*", True)
Source.Range("A:C").Clear
If IsArray(FindArray) Then
fRow = UBound(FindArray)
Source.Range("A1").Resize(fRow, 3).Value = FindArray
ListBox1.RowSource = "Source!A2:C" & fRow
Else
Source.Range("A1:C1").Value = Sheet1.Range("A1:C1").Value
Source.Range("B2").Value = "No match found!"
ListBox1.RowSource = "Source!A2:C2"
End If
End Sub
Anh Hoàng Trọng Nghĩa ơi. File tìm kiếm mới của anh khi nhập theo tên: nhập mấy kí tự đầu tiên thì nó mới search được, còn chỉ nhập mấy từ sau thì không search được. VD: search tên Phạm Minh Tiến -nếu gõ Phạm thì nó ra, còn gõ Minh hay Tiến thì nó báo ko tìm thấy.
Anh có cách nào search chữ Tiến hay chữ Minh thì nó ra luôn tên ko ?
[B]FindArray = Filter2DArray(sArray, fCol, [COLOR=#0000cd]TextBox1.Text [/COLOR][COLOR=#ff0000]& "*"[/COLOR], True)[/B]
[B]FindArray = Filter2DArray(sArray, fCol, [COLOR=#ff0000]"*" & [/COLOR][COLOR=#0000cd]TextBox1.Text[/COLOR][COLOR=#ff0000] & "*"[/COLOR], True)[/B]
anh Hoàng Trọng Nghĩa ơi. Cái hàm của anh tìm kiếm ok hết rồi nhưng chỉ còn 1 cái nữa là không có click tới tên cần tìm kiếm. Trong form có tên tìm kiếm nhưng khi click tên đó nó không nhảy qua excel tới ô đó. Anh coi giúp dùm em cái đó nữa nha!
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyID As String
MyID = ListBox1.List(, 0)
Unload Me
Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp)) _
.Find(MyID, LookIn:=xlValues, LookAt:=xlWhole) _
.Resize(, 3).Select
End Sub
Cái này có gì đâu mà khó, chỉ cần double click vào cái ListBox với thủ tục dưới đây:
Mã:Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim MyID As String MyID = ListBox1.List(, 0) Unload Me Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp)) _ .Find(MyID, LookIn:=xlValues, LookAt:=xlWhole) _ .Resize(, 3).Select End Sub
Xin hỏi?
Làm thế nào trong list ta chọn đối tượng cần tìm (đưa chuột vào đối tượng trong list được to đậm như trong list) khi nhấp đúp chuột thì hiện ra riêng đồi tượng đó trong Sheets hoặc trong form (nếu tạo form). Việc đó VBA Excel có thực hiện được không ? nếu được thì viết Code như thế nào.
Rất mong hướng dẫn, giúp đở thêm. Xin cám ơn.
Để lọc nhiều cột thì bạn thử xem code ở chủ đề sau có đáp ứng được không. Nhân tiện nhờ bạn test hộ và cho biết.
Số tôi không may thì phải. Mình thì sẵn sàng giúp nhiều người nhưng nhờ vả thì không ai giúp.
http://www.giaiphapexcel.com/forum/...cột-lọc-tùy-ý-cột-số-tới-2-điều-kiện
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2