Excel / VBA - Tìm kiếm với nhiều lần trả về

Tìm kiếm đơn giản trả về sẽ trả về tọa độ đầu tiên.
  • Trong một số tình huống cần phải biết tất cả các chi tiết về sự cố được tìm thấy.
  • Điều này đạt được với chức năng dưới đây.

Trong một mô-đun công cộng

 'Retourne toutes les adresses trouvées dans la recherche' WkbN = nom du classeur, avec cette donnée la fonction peut être mise dans un xla 'WksN = nom de la feuille' Plage = les 'Retour dans le tableau donner en argument. Chức năng RechFind (ByVal Cle As String, ByVal WkbN As String, ByVal WksN As String, ByVal Plage As String, ByRef TBadress () As Variant) As Long Dim Cherche, Ix As Long, PrAddress With Workbooks (Wkb .Range (Plage) Đặt Cherche = .ind (Cl) Nếu không phải Cherche là không có gì thì PrAddress = Cherche.Address Do ReDim Bảo tồn TBadress (Ix) TBadress (Ix) = Cherche.Address Set Cherche = .indindext (Cherche) + 1 vòng lặp trong khi không phải là Cherche là gì và Cherche. Địa chỉ PrAddress End If End With 'nombre d'occurence (s) trouvée (s), Retour 0 si aucune xảy ra RechFind = Ix Set Cherche = nothing' Libére la mémoire máy bay phản lực. Chức năng kết thúc 

Thêm vào một bảng tính Xla.

Sử dụng Macro

 Phụ = 0 To R - 1 'ou ubound (TB)' exemple Sheets ("Feuil1"). Các ô (i ​​+ 4, 5) = Phạm vi (TB (i)). 

Sử dụng nút gọi

 Lệnh phụ riêng tưButton1_Click () Dim R As Long, TB () Dim i As Integer Range ("E4: E20"). : B500 "). Địa chỉ, TB ()) Nếu R> 0 Sau đó với i = 0 To R - 1 'ou ubound (TB)' exemple Sheets (" Feuil1 "). TB (i)). Hàng tiếp theo i End If End Sub 

Tải về

Tải về bài kiểm tra: tại đây.

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên