【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?

エクセルVBAで特定のセルの値をコメントに置き換えることについて

A1のセルに入っている値(文字)を、
別のシートのB1セルのコメントに貼り付けたいです。

A1の値は毎回変わるので、
マクロボタンを押すたびにA1の値を別シートB1のコメントに貼り付けるにはどうしたらいいですか?

別シートのB1のコメント欄を出す事と常に表示させる所までは出来ました。A1の値を空欄のコメントに貼り付けたいです

※何度か頑張ってみたのですが出来ず困っています。

A 回答 (3件)

以下の手順でマクロを作成。



VBAエディタを開く:
Alt + F11を押してVBAエディタを開きます。

新しいモジュールを挿入:
挿入 > モジュールを選択


以下のコードを入力:
Sub CopyValueToComment()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim sourceValue As String

' シートの設定
Set sourceSheet = ThisWorkbook.Sheets("Sheet1") ' A1の値があるシート名に変更
Set targetSheet = ThisWorkbook.Sheets("Sheet2") ' B1のコメントを追加するシート名に変更

' A1の値を取得
sourceValue = sourceSheet.Range("A1").Value

' B1のコメントを設定
With targetSheet.Range("B1")
If .Comment Is Nothing Then
.AddComment
End If
.Comment.Text Text:=sourceValue
End With
End Sub

マクロを実行:
F5キーを押してマクロを実行。

このコードは、Sheet1のA1セルの値を取得し、Sheet2のB1セルのコメントにその値を貼り付けます。シート名はご自身のシート名に合わせて変更.
    • good
    • 1
この回答へのお礼

すごいわかりやすいです。ありがとうございます。

お礼日時:2024/10/11 21:33

新規貼り付けなら


Set WS1 = Worksheets("Sheet1")
Set WS2 = Worksheets("Sheet2")
WS2.Range("B1").AddComment Text:=WS1.Range("A1").Value
    • good
    • 0
この回答へのお礼

わかりやすいです。ありがとうございました。

お礼日時:2024/10/11 21:34

以下のようにしてください。


標準モジュールに登録します。
Public Sub コメント設定()
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("B1").ClearComments
ws.Range("B1").AddComment (ws.Range("A1").Value)
End Sub
    • good
    • 0
この回答へのお礼

わかりやすいです。ありがとうございます

お礼日時:2024/10/11 21:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A