- ベストアンサー
VBAでコメントにセルの値の設定
VBAでコメントにセルの値や変数の値を設定する処理はあるのですか? よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
サンプル コメントがそのセルに既にある場合 Sheets("Sheet1").Range("A1").Comment.Text " commented at " & Format(Time, "hh:mm:ss") コメントが無い場合 Sheets("Sheet1").Range("A1").AddComment " commented at " & Format(Time, "hh:mm:ss")
その他の回答 (5)
- taisuke555
- ベストアンサー率55% (132/236)
1つ書き忘れました。(余計なことかもしれませんが) #3さんの方法では、C3セルに値が入っていなかったり、数字が入っている場合、 Range("A3").Comment.Text Text:=Cells(3, "c").Value でエラーになります。 Range("A3").Comment.Text Text:=cstr(Cells(3, "c").Value) とするか #4さんのように一旦文字列変数に格納するか 私の様に.Valueでなく.Textを使うかしないとだめだと思います。 (絶対文字が入っていれば、気にすることもないかもしれませんが) EXCEL2000なので、それ以降のバージョンではうまくいくのかな? 確認してみてください。
- taisuke555
- ベストアンサー率55% (132/236)
私もサンプルです。 コメントがあるかないかを判断しています。 Sub Macro1() Dim Msg As String Msg = "TEST" With Worksheets("Sheet1").Range("A2") If (.Comment Is Nothing) Then 'コメントがない場合 .AddComment Worksheets("Sheet1").Range("B2").Text 'B2セルの値を入れる Else .Comment.Text Msg '変数を入れる End If End With End Sub
- 134
- ベストアンサー率27% (162/600)
こちらもサンプルです。セルA1の値を B1に「セルのコメント」として設定させています。 Sub Macro1() Dim Mytext As String Mytext = Range("A1").Value Range("B1").Select Range("B1").AddComment Text:=Mytext End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
C3セルに、例えば「東京管轄」と入れて下記を実行すると A3のコメントに「東京管轄」と入りましたが。 Cells(3, "c").ValueとValueが必要のようです。 Sub test01() Range("A3").AddComment Range("A3").Comment.Visible = False Range("A3").Comment.Text _ Text:=Cells(3, "c").Value End Sub #1のご回答のような問題でしょうか。それならごめんなさい。
コメントというのは 「'」 で始まる一行のことでしょうか。その行内はすべてコメントアウトされるので、その行内に何を書いても実行はされないと思います。 ' 変数宣言しまーす! Dim i as Integer どうですか? とか ' iに値を格納しますよー! i = 1 どうだ! と書いても、そのInteger大のメモリ領域確保は行われませんし当然思うところの「1」という値もどこにも保持されません。 そして、そのようなことをする必要もないのではないのでしょうか。 ' 変数宣言 Dim i as Integer ' 値格納 i = 1 これが普通のやり方です。コードがどれほど複雑になっても、コメント行はコメント行として使うしかないと思います。 間違っていたら誰か正してください。