2017-08-09 1 views
1

Existe-t-il un moyen d'activer un commentaire sur une cellule en le survolant? J'ai une gamme de cellules que je voudrais tirer les commentaires respectifs d'une autre feuille en survolant chaque cellule individuelle. L'événement hover tire les commentaires de leurs cellules respectives dans l'autre feuille.Ajouter des commentaires aux cellules à l'aide de VBA

Les commentaires sont de valeur de chaîne. Fondamentalement, j'ai une gamme de cellules dans la feuille 1, disons A1: A5 et j'ai besoin de commentaires pour apparaître quand je les survole et que je tire de la feuille 2 de la plage B1: B5. La raison pour laquelle je ne le ferai pas manuellement est que le contenu de la feuille 2 change tous les jours. C'est pourquoi j'essaie de voir s'il existe une solution VBA.

+0

vous pouvez rightclick une cellule et ajouter un commentaire .... mais pour définir le texte sera dynamiquement besoin d'un peu de ... vba s'il vous plaît montrer ce que vous avez essayé jusqu'à présent –

+0

le commentaire de valeur de chaîne? Les commentaires sont-ils extraits des cellules ou des zones de commentaire de l'autre feuille? – TJYen

+0

Les commentaires sont de valeur de chaîne. Fondamentalement, j'ai une gamme de cellules dans la feuille 1, disons A1: A5 et j'ai besoin de commentaires pour apparaître quand je les survole et que je tire de la feuille 2 de la plage B1: B5. La raison pour laquelle je ne le ferai pas manuellement est que le contenu de la feuille 2 change tous les jours. – studentofarkad

Répondre

3

planant au-dessus toute cellule, qui contient un commentaire, montre que le commentaire de la cellule

c'est comment ajouter un commentaire à une cellule et comment mettre à jour le commentaire du texte

Sub aaa() 
    With Range("E6") 
     If Not .Comment Is Nothing Then .Comment.Delete 
     .AddComment "this is a comment" 
     .Comment.Text = "abc123" 
    End With 
End Sub 
+3

'Sur Erreur Resume Next', vraiment ?? Cela ne "saute" rien, il fonctionne simplement avec bonheur, dans un état d'erreur que vous persistez jusqu'à End End. 'If ​​Not Range (" E6 ") Commentaire est Nothing Range (" E6 "). Comment.Delete' dit ce qu'il fait, et fait ce qu'il dit. –

+0

@ Mat'sMug, ceci est seulement pour l'exemple de code pour l'OP à partir duquel dessiner. Si vous exécutez le code sur une feuille vierge, vous obtiendrez une erreur sur la commande de suppression, car il n'y a aucun commentaire à supprimer ... Je ne voulais pas inclure plus de code que nécessaire. .... Je déteste la limite de temps de 5 minutes sur les mises à jour des commentaires ... lol – jsotola

+0

Là, l'a réparé pour vous. –

0

Ce code rafraîchira le contenu des commentaires chaque fois que vous ouvrez le classeur. Il est basé sur des plages de destination et de source. Assurez-vous d'abord d'ajouter un commentaire pour la plage de cellules en premier. Vous n'aurez pas besoin de VBA pour cela.

Private Sub Workbook_Open() 
    Dim ws As Worksheet 
    Dim rg As Range 
    Dim comment As String 
    Dim i As Integer 

i = 1 
Set rg = Range("E1:E10") 'set range of where the comments will be seen 
Set ws = Sheets("Sheet1") 


For Each c In rg 
comment = ws.Cells(i, 2).Value 'set location of comments you are grabbing from 
c.comment.Text Text:=comment 
i = i + 1 
Next c 
End Sub 
+0

Range ("E1: E10") est sur une feuille de calcul indéterminée – jsotola

0

Essayez ce code.

Sub test() 
    Dim rngDB As Range, rngComent As Range 
    Dim rng As Range 
    Dim cm As Comment, i as integer 
    Set rngComent = Sheets(1).Range("a1:a5") 
    Set rngDB = Sheets(2).Range("b1:b5") 

    For Each rng In rngComent 
     i = i + 1 
     If Not rng.Comment Is Nothing Then 
      rng.Comment.Delete 
     End If 
     Set cm = rng.AddComment 
     With cm 
      .Visible = False 
      .Text Text:=rngDB(i).Value 
     End With 
    Next rng 

End Sub 
+0

Malheureusement, je n'ai pas défini "variable" comme le message d'erreur. – studentofarkad

+0

@studentofarkad, i comme entier manqué. –