Excel / VBA - A Finn søk med flere retur

En enkel Finn søkeavkastning som returnerer den første koordinaten.
  • I noen situasjoner er det nødvendig å vite alle detaljer om forekomster funnet.
  • Dette oppnås med funksjonen under.

I en offentlig modul

 'Retur til å lese adresser som du ønsker å lese' WkbN = du er klassifisert, og du vil ikke bli medlem av en fonction peut. Du kan også se et annet sted. WksN = nom de la feuille 'Plage = les koordinées de la plage à parcourir. 'Retur dans le tableau donner en argument. Funksjon RechFind (ByVal Cle As String, ByVal WKBN Som String, ByVal WksN Som String, ByVal Plage Som String, ByRef TBadress () Som Variant) Så Lang Dim Cherche, Ix Så Lang, PrAddress Med Workbooks (WkbN) .Skriv (WksN) .Range (Plage) Sett Cherche = .Find (Cle) Hvis ikke Cherche er ingenting så PrAddress = Cherche.Address Gjør ReDim TBadress (Ix) TBadress (Ix) = Cherche.Address Set Cherche = .FindNext (Cherche) Ix = Ix + 1 Loop While Not Cherche er ingenting og Cherche.Address PrAddress-slutten hvis slutt med 'nombre d'occurence (s) trouvée (s), Return 0 si aucune forekomst RechFind = Ix Set Cherche = Ingenting' Libére la mémoire occupée par l ' objet. Sluttfunksjon 

Legg til i en Xla-arbeidsbok.

Bruke en makro

 Sub RechMulti () Dim R så lenge, TB () Dim i som helhet R = RechFind ("12 *", ThisWorkbook.Name, "Feuil1", "B1: B500", TB ()) Hvis R> 0 Then For i = 0 til R - 1 'ou ubound (TB)' exemple Sheets ("Feuil1"). Celler (i + 4, 5) = Range (TB (i)). Row Next I End Hvis End Sub 

Bruk en ringetast

 Private Sub CommandButton1_Click () Dim R så lenge, TB () Dim i som helhetsområde ("E4: E20"). ClearContents R = RechFind (Range ("E2"), ThisWorkbook.Name, ActiveSheet.Name, Range : B500 "). Adresse, TB ()) Hvis R> 0 Da For I = 0 Til R - 1 'Ubound (TB)' Eksempler Ark (" Feuil1 "). Celler (i + 4, 5) = Område TB (i)). Row Next I End Hvis End Sub 

nedlasting

Last ned test arbeidsboken: her.

Forrige Artikkel Neste Artikkel

Beste Tips