Comment get une cellule spécifique dans une plage sélectionnée par l'user dans Excel en utilisant C #

Je crée mon complément Excel frist et je souhaite finition de cellules spécifiques dans une gamme que l'user sélectionne.

Je connais les Colonnes dans lesquelles les valeurs sont celles dont j'ai besoin. Donc, je le teste avec:

Excel.Range selection = Globals.ThisAddIn.Application.Selection as Excel.Range; Excel.Range firstValue = selection.Columns["I"].Find("*", Type.Missing, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,Excel.XlSearchOrder.xlByColumns,Excel.XlSearchDirection.xlNext, false, Type.Missing,Type.Missing); 

Maintenant, j'ai la première valeur de la colonne "I"

Cela fonctionne bien lorsque la "sélection" que l'user fait commence commence dans la colonne "A"

Si l'user sélectionne pour excample de C2 à H20, le code ne peut pas find la colonne "I" que je devenais une autre gamme, pas la colonne "I".

Je pense que pour lui, je "suis" toujours "9". Lorsque l'user choisit de "C2" à "H20" dans la nouvelle gamme est colum "C" = "0" et la colonne "L" = 9 afin que le code sélectionne la colonne "L" même si j'écris "I" dans le code .

Avez-vous une idée de la façon dont je peux lire la colonne ou la cellule spécifique, je veux la sélection interne de l'user, peu importe où l'user commence avec sa sélection?

Merci d'avance

Comme vous l'avez découvert, lorsque vous traitez une sélection de cellules, la cellule située en haut à gauche devient l'équivalent de A1 lorsqu'il s'agit de references de cellules dans cette sélection et que d'autres cellules sont référencées par les lignes et les colonnes qu'elles sont décalées cellule supérieure gauche.

Si vous cherchez à searchr dans une zone de colonne que j'ai tronquée par la sélection d'users de lignes, je suggérerais la méthode _Application.Intersect .

Si vous cherchez à searchr dans une section de la colonne I avec les sélections la ligne supérieure et la ligne inférieure comme limites de la colonne I, même s'il n'y a pas d'intersection, définissez la première cellule dans la colonne I à l'aide de la sélection.cells [1] .row et redimensionnez par selection.rows.count.