-
10-15-2013, 02:28 AM #1
Junior 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:
- Viết code trong excel
- Căn đều dữ liệu bảng khi thay đổi số lượng các ô
- Data Validation trong Excel 2003
- Tổng hợp sheet của nhiều file excel
- Trong Excel 2003 có cách nào định dạng kiểu chữ tự động không ?
- Click vào 1 cell sẽ hiện lên cái lịch
- cong thuc nhap du lieu tu sheet nay sang sheet khac
- Giúp đỡ về xử lý dữ liệu giữa các sheet
- Chuyên Đề : Trích Lọc Sổ Cái
- Chạy tự động macro khi mở file excel & Sử dụng Visual Basic tô màu ô tương ứng khi double click cell
-
10-15-2013, 03:01 AM #2
Junior 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 #3
Silver 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 #4
Junior 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 #5
Junior 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 #6
Junior 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 #7
Junior 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
Trứng rung tình ái được thiết kế nhỏ gọn, thuận tiện cho việc mang đi đến nhiều nơi khác nhau. Chính vì điểm này nên chị em hay các cặp đôi có thể sử dụng kín đáo mà không sợ mọi người phát hiện ra....
Các cô có nên sử dụng chày rung tình yêu không?