Fonction de correspondance dans la colonne spécifique Excel VBA

J'essaie d'écrire un programme dans VBA pour Excel 2011 qui peut searchr une colonne (quelle colonne est déterminée par une autre variable) pour le numéro 1 afin de savoir par où commencer une itération.

Dites que le nombre de la colonne est donné par colnumvar . La seule façon dont je peux penser est la fonction Match, qui m'a amené à écrire ce qui suit:

 Dim rowvar As Integer rowvar = WorksheetFunction.Match(1,Range(Cells(1,colnumvar),Cells(1000,colnumvar)),0) 

Cela m'a toutefois donné une erreur. Après avoir joué avec ça un peu plus, j'ai compris qu'il ne fallait pas accepter le mode Cells([row],[col]) mais plutôt quelque chose comme Range("A1:A100") . Malheureusement, je ne peux pas le faire de cette façon, car le programme détermine quelle colonne searchr. Toute aide pour comprendre comment réussir cela serait grandement appréciée!

Ce que vous voulez faire est mieux servi avec Range.Find .

 Dim rngtrg As Range, rngsrc As Range Dim ws As Worksheet Set ws = ActiveSheet Set rngsrc = ws.Range(ws.Cells(1,colnumvar),ws.Cells(1000,colnumvar)) Set rngtrg = rngsrc.Find(1,...) rowvar = rngtrg.Row 

cette fonction facilite la position de celle que vous trouvez

 Function rowvar(ByRef c As Integer) As Integer Dim keySrc As Integer keySrc = 22 'wath you want to find rowvar = WorksheetFunction.Match(keySrc, Range(Cells(1, c), Cells(1000, c)), 0) End Function 

utiliser avec rowvar (x)