ExcelスクロールバーとOFFSETメソッドを使用してExcelでスクロール可能なリストを作成しました。私の目標は、このリストのすべてのセルについてコメントを生成することです。各コメントには、それが接続されているセルの正確な内容が含まれている必要があります。私は、コードを割り当てたボタンを使ってコメントを生成します。最初に(コメントを生成する)ボタンをクリックし、その後スクロールバーをスクロールします。私が望むのは、スクロールバーをスクロールした後、もう一度ボタンをクリックする必要がないということです。言い換えれば、私がスクロールした後、私はコメントが自動的に調整されることを望みます。これは、私は問題があると言った。私は静的な項目のコメントを生成することができますが、私はリスト内で上下にスクロールするたびに、コメントは更新されません(つまり、セルC5のコメントが "Hello World"セルC5の内容が変更されていても "Hello World"となります)。ここで私が持っているコードは、これまでです:VBAでスクロール可能なリストのセルコンテンツを含むコメントを生成
Private Sub Create_Comments()
'src refers to the cells for which we will generate comments
Dim src As Range: Set src = Range("C5:C14")
'tar refers to the cells where the comments will be generated
Dim tar As Range: Set tar = Range("C5:C14")
For i = 0 To src.Rows.Count - 1
Dim sResult As String
sResult = Cells(src.Row + i, src.Column)
If sResult <> "" Then
With Cells(tar.Row + i, tar.Column)
.ClearComments
.AddComment
.Comment.Text Text:=sResult
.Comment.Shape.ScaleWidth 4, msoFalse, msoScaleFromTopLeft
.Comment.Shape.ScaleHeight 2.26, msoFalse,soScaleFromTopLeft
End With
Else: sResult = ""
Exit Sub
End If
Next i
End Sub
必要に応じて、これが動作しない理由に任意の洞察力をいただければ幸いです!私はExcel 2007を使用しています。
ありがとう!
Create_Commentsはどこから呼び出されますか? – SteveES
私は単純にCreate_Commentsをボタンに割り当てました。そうすれば、私がしなければならないのは、シート上のボタンを押して、コードが実行されるだけです。 – YesHelloThisIsDog
1.スクロールバーをスクロールした後、別のボタンをクリックしてコメントを更新しますか? 2. 2行目のコードが必要なのはなぜですか? – SteveES