J'essaie de searchr une string dans Excel en utilisant VBA .. pour l'ex.
Ma fiche contient datatables suivantes
1.Lalit 2.Lalit
S'il n'y a qu'une seule ligne avec l'apparition de lalit
elle donne un résultat correct alors qu'il y a 2 lignes avec la même string, elle renvoie le 2ème résultat au lieu de la première. Aidez-moi à renvoyer la ligne correcte.
Selon un article MSDN sur Range.Find (), vous pouvez spécifier la cellule après laquelle vous souhaitez lancer la search. Vous pouvez également spécifier le sens de search. En supposant que vous avez une gamme de A1:A500
et que vous souhaitez find la première instance de Latit
vous pourriez utiliser:
Range("A1:A500").Find("Test", Range("A500"), , , xlByRows, xlNext).Row
Cela démarre la search à A500
, qui s'ajoute automatiquement à la première ligne. Excel renvoie le premier résultat qu'il peut find, donc vous obtiendrez 1
comme réponse (en supposant que Latit
soit en A1
)
En grande partie, la même base que JNevill, mais assurant
Find
doit toujours être testé avec code
Sub FindEx() Dim strFind As Ssortingng Dim rng1 As Range strFind = "Lalit" Set rng1 = Cells.Find(strFind, Cells(Rows.Count, "A"), xlValues, xlPart, , xlNext) If Not rng1 Is Nothing Then MsgBox "first value of " & strFind & " found in " & rng1.Address(0, 0) End Sub