Excel / VBA - Una búsqueda de búsqueda con retorno múltiple

Una búsqueda de búsqueda simple devuelve la primera coordenada.
  • En algunas situaciones es necesario conocer todos los detalles de las ocurrencias encontradas.
  • Esto se logra con la siguiente función.

En un modulo publico

 "Dirección y dirección de la comunicación" WkbN = nombre del clasificador, avec cette donnée la fonction peut être mans dans un xla "WksN = nombre de la feuille" Plage = les coordonnées de la plage à parcourir. 'Retour dans le tableau donner en argument. Función 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 (WkbN). Rango (Plage) Establezca Cherche = .Find (Cle) Si no es Cherche no es nada, entonces PrAddress = Cherche.Dirección ReDim Preservar TBadress (Ix) TBadress (Ix) = Cherche.Dirección Set Cherche = .FindNext (Cherche) Ix = Ix + 1 Loop While not Cherche no es nada y Cherche.Address PrAddress End If End con 'nombre de incurrencia (s) de problema (s), Devour 0 si aucune aión RechFind = Ix Set Cherche = Nothing' Libére la mémoire occupée par l ' objeto. Función final 

Añadir a un libro de trabajo de Xla.

Usando una macro

 Sub RechMulti () Dim R As Long, TB () Dim i As Integer R = RechFind ("12 *", ThisWorkbook.Name, "Feuil1", "B1: B500", TB ()) Si R> 0 Entonces para i = 0 A R - 1 'ou ubound (TB)' Ejemplo de Hojas ("Feuil1"). Celdas (i + 4, 5) = Rango (TB (i)). Fila Siguiente i Fin Si Fin Sub 

Usando un botón de llamada

 Private Sub CommandButton1_Click () Dim R As Long, TB () Dim i As Integer Range ("E4: E20"). ClearContents R = RechFind (Range ("E2"), ThisWorkbook.Name, ActiveSheet.Name, Range ("B1 : B500 "). Dirección, TB ()) Si R> 0 Entonces para i = 0 A R - 1 'ou Ubound (TB)' Hojas de ejemplo (" Feuil1 "). Celdas (i + 4, 5) = Rango ( TB (i)). Fila Siguiente i Fin Si Fin Sub. 

Descargar

Descargue el libro de prueba: aquí.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos