-
10-15-2013, 02:28 AM #1Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
xin các anh chị giúp e với...Em có file như đính kèm gồm các sheet là từng ngày,bây giờ em mún làm 1 cái form có thể nhập mã số của khách hàng rồi nhấn tìm kiếm thì nó sẽ liệt kê ra công việc đã làm của khách hàng trong các ngày ạ...Mong các anh chị giúp em vì em chưa rành về VBA lắm.
View more random threads:
- Bạn nào giúp mình code cái này với
- Làm sao để past link từ word (nhiều trang liên tiếp) qua Excel
- Trích lọc Sổ Cái : Dùng Công Thức và Các Hàm Excel
- Nhờ các bạn viết giúp code tạo nút NHẬP
- Không lọc được hết dữ liệu.
- (Đưa bài dùm 1 bạn): Làm sao khi mở file (hay trang tính nào đó của file) là hàm dưới đây chạy ngay
- Phát hiện ngày tháng không đúng dd/mm/yyyy
- Hộp thoại dialog open file
- bài tập Excel nâng cao
- giúp minh kê khai hang tồn kho tính theo phương pháp bình quân
-
10-15-2013, 03:01 AM #2Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
Gửi bởi kamala
Để tìm cho đơn giản bạn nên gộp chung vào 1 sheet, đơn giản nhất là dùng Auto Fillter chọn 1 phát là xong, đâu cần suy nghĩ gì nhiều (cái này bác Bill đã có sẳn rồi bạn cứ việc dùng thôi).
Còn việc tìm nhiều sheet thì làm cũng được, nhưng vụ này bác Bill cũng không khoái lắm nên bác cũng đã tạo sẳn công cụ tìm kiếm trên từng sheet.
Theo tôi nên gộp dữ liệu theo dõi ở các ngày vào chung 1 sheet, để tổng hợp thì sử dụng Pivottable là đáp ứng được công việc rồi, muốn hoành tráng thì sử dụng Form và viết Macro để điều khiển, nhưng vụ này thì tôi cũng không khoái lắm vì muốn giúp thì cũng phải tốn rất nhiều công sức và mất thời gian.
-
11-11-2013, 10:03 PM #3Silver member
- Ngày tham gia
- Apr 2016
- Bài viết
- 271
Ðề: Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
Được hết . Để suy nghĩ đã .
Ví dụ sơ xài, thử nhé
Module1
Code:
Public Sub FindText()
Dim ws As Worksheet, Found As Range
Dim myText As String, FirstAddress As String
Dim AddressStr As String, foundNum As Integer
myText = InputBox("Enter text to find")
If myText = "" Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
With ws
Set Found = .UsedRange.Find(what:=myText, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
foundNum = foundNum + 1
AddressStr = AddressStr & .Name & " " & Found.Address & vbCrLf
Set Found = .UsedRange.FindNext(Found)
Loop While Not Found Is Nothing And Found.Address <> FirstAddress
End If
myNext:
End With
Next ws
If Len(AddressStr) Then
MsgBox "Found: MSKH """ & myText & """ " & foundNum & " times." & vbCr & AddressStr, vbOKOnly, """ & myText"
Else:
MsgBox "Unable to find " & myText & " in this workbook.", vbExclamation
End If
End Sub
Kết qủa:
Kết qủa: Enter số MSKH
Bây giờ add dòng code nữa dể cho tạo ra 1 trang Result , trong đó list ra hết đã tìm
hoặc là
-
11-12-2013, 12:06 PM #4Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
Làm kiểu Form thì từ từ có thời gian rảnh mới viết
-
12-19-2013, 09:56 PM #5Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 5
Ðề: Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
Gửi bởi Wind_Flower
-
12-20-2013, 02:01 PM #6Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
Gửi bởi thecuong0
Viết vậy theo cố excel 2003 . Viết 2010 & 2013 thì nhỏ gọn, dùng loop search khác
-
12-20-2013, 08:20 PM #7Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Hỏi về tìm kiếm dữ liệu từ nhiều Sheet và hiển thị kết quả trên form
Kiểu này ko dùng FORM, chỉ tạo thêm 1 Sheet Result rồi run macro FindPatient
Header trong Sheet Result nằm ở row 3, y như 13 sheets data, do đó khi tìm được thì nó sẻ điền từ row 4 trở xuống . Code này tôi viết cho BOM (Excel 2003)
Phần popup address chỉ là phụ, vì tôi dùng để kiểm tra , nên cậu có thể bỏ
Form chỉ màu mè cho con nít . hahahhaa
Public Sub FindPatient()
Dim ws As Worksheet, Found, p As Range
Dim myText As String, FirstAddress As String
Dim AddressStr As String, foundNum As Integer
Sheets("Result").Select
Rows("4:40").Select
Selection.Delete Shift:=xlUp
myText = InputBox("Enter text to find")
If myText = "" Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
With ws
If ws.Name = "Result" Then GoTo myNext
Set Found = .UsedRange.Find(what:=myText, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
foundNum = foundNum + 1
AddressStr = AddressStr & .Name & " " & Found.Address & vbCrLf
Set Found = .UsedRange.FindNext(Found)
Found.EntireRow.Copy Destination:=Worksheets("Result").Range("A65536"). End(xlUp).Offset(1, 0)
Loop While Not Found Is Nothing And Found.Address <> FirstAddress
End If
myNext:
End With
Next ws
If Len(AddressStr) Then
MsgBox "Found: """ & myText & """ " & foundNum & " times." & vbCr & _
AddressStr, vbOKOnly, myText & " found in these cells"
Else:
MsgBox "Unable to find " & myText & " in this workbook.", vbExclamation
End If
End Sub
Hiện nay, trên mạng cũng có rất nhiều diễn đàn mà cánh nam giới chia sẻ với nhau về nghệ thuật bế tinh và coi đó là bí kíp để gìn giữ sức khỏe và tư thế đàn ông. Tuy nhiên, theo giáo sư Trần Quán...
Tư thế yêu mà không xuất của quý ông. Tác hại như thế nào?