2017-08-09 7 views
1

セルにカーソルを置いてコメントを付ける方法はありますか?私は、個々の細胞にぶつかったときに別のシートからそれぞれのコメントを引っ張りたいと思う細胞の範囲を持っています。ホバーイベントは、他のシートのそれぞれのセルからコメントを引き出します。VBAを使用してセルにコメントを追加

コメントは文字列値です。基本的に、シート1には一連のセルがありますが、A1:A5と言いましょう。そして、それらの上にマウスを置いてポップアップすると、シート2の範囲B1:B5から引っ張ってくるコメントが必要です。私がそれを手動でやっていないのは、シート2の内容が毎日変わるからです。そのため、VBAソリューションがあるかどうかを確認しようとしています。コメントが含まれている任意のセル、上でホバリング

+0

あなたは、セルを右クリックし、コメントを追加....しかし、動的にVBAのビットを必要とするテキストを設定することができます...あなたは –

+0

は、文字列値のコメントで、これまでにしようとしているものをご提示ください?他のシートのセルまたはコメントボックスからコメントを引き出していますか? – TJYen

+0

コメントは文字列値です。基本的に、シート1には一連のセルがありますが、A1:A5と言いましょう。そして、それらの上にマウスを置いてポップアップすると、シート2の範囲B1:B5から引っ張ってくるコメントが必要です。 私はそれを手作業でしない理由は、シート2の内容が毎日変わるからです。 – studentofarkad

答えて

3

は、そのセルのコメント

を示し、これはあなたがセルにコメントを追加し、コメントテキスト

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

On Error Resume Next'、本当に??これは何も「スキップ」しません。完璧に実行されてエラー状態になり、「End Sub」に至るまで永続しています。 'If​​ Not Range(" E6 ")。Comment Is Nothing Then Range(" E6 ")。Comment.Delete'は、それが何をしているかを示し、それが何をしているのかを示します。 –

+0

@ Mat'sMug、これは、OPが描画されるコードの例です。クリーンシート上でコードを実行すると、削除するコメントがないので、deleteコマンドでエラーが発生します。必要以上のコードを追加したくありませんでした。 ...私はコメントの更新に5分の時間制限が嫌い...笑 – jsotola

+0

そこに、あなたのためにそれを修正した。 –

0

を更新する方法このコードは更新されます方法ですワークブックを開くたびにコメントの内容が表示されます。宛先とソースの両方の範囲に基づいています。最初にセル範囲のコメントを追加してください。あなたはそれのためにVBAは必要ありません。

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")が不定のワークシートにある – jsotola

0

このコードを試してください。

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

残念ながら、エラーメッセージとして「変数」が定義されていません。 – studentofarkad

+0

@studentofarkad、私は整数を逃した。 –

関連する問題