2014-07-01 6 views
-1

J'ai une fonction VBA:Comment obtenir la cellule actuelle Excel

public function MyFunction(someParameters) as Double 

    ... do something ... 

    return aValue 

end function 

J'ai une feuille où ma fonction est appelée à partir de certaines cellules:

A1: =MyFunction(...) 

A2: =MyFunction(...) 

A100: =MyFunction(..) 

Je voudrais revenir un valeur (et ça marche) et aussi d'ajouter un commentaire à la cellule ...

Si je ActiveCell puis-je utiliser AddComment, il ajouter un commentaire à la dernière cellule, je quittai mon curseur, et non la « cellule active calculée '.

Comment faire?

Merci.

+0

Vous pouvez faire référence à la cellule qui appelle l'UDF - je ne l'ai pas essayé d'ajouter des commentaires, cependant. http://www.mrexcel.com/forum/excel-questions/379635-get-cell-reference-udf-caller.html – natancodes

Répondre

4

Vous ne pouvez pas faire cela en utilisant ActiveCell. Votre fonction recalcule et chaque fois qu'elle s'appelle ActiveCell est quelque chose de différent (selon la sélection). La logique pour ajouter des commentaires via UDF semble un peu imparfait mais vous pouvez essayer cette

Public Function MyFunction() As Double 

    MyFunction = 3.141519 

    Dim cell As Range 
    Set cell = Range(Application.Caller.Address) 

    cell.AddComment (cell.Address) 

End Function 
Questions connexes