2017-09-05 2 views
0

Je travaille sur une application VBA qui va regarder le commentaire qui a été entré et dire à quelqu'un si le commentaire qu'ils ont laissé était de plus de 150 caractères. Je l'ai fonctionné sauf que j'en ai besoin pour lire la cellule précédente qui a été sélectionnée à la place de la nouvelle cellule sur laquelle je clique. Par exemple, si je fais un commentaire sur A3 et que je clique ensuite sur G7, je dirais qu'il n'y a pas de commentaire sur G7 quand j'en ai besoin pour dire si le commentaire sur A3 dépasse la limite de caractères.Comment sélectionner la cellule active précédente dans Excel VBA?

+0

Utilisez une variable globale pour capturer le cliqué sur la cellule: lorsque l'événement SELECTION_CHANGE vous court pouvez vérifier cette gamme à la place de celui qui vient d'être sélectionné. Si vous incluez votre code actuel (toujours une bonne idée ici) quelqu'un pourrait suggérer les modifications dont vous avez besoin. –

+0

Je garderai cela à l'esprit la prochaine fois que je posterai ici. Je suis nouveau sur Stack Overflow et je ne savais pas trop comment publier du code ici. – DaBeau96

Répondre

0

Voici la solution que j'ai trouvée.

Dim cmt As Comment 
Dim currTarget As Range 
If prevTarget Is Nothing Then 
    Set currTarget = Target 
    Set prevTarget = currTarget 
Else 
    Set prevTarget = currTarget 
    Set currTarget = Target 
End If 
Set cmt = prevTarget.Comment 

Je puis appelle « cmt » si le commentaire est plus de 150 caractères avec une instruction if