• ベストアンサー

[VBA]セルのコメントの内容をセルに反映させたい

VBAの勉強を始めたばかりの者です。 やりたいことは  (1)A1のセルにコメントを挿入する  (2)A1のコメントの内容をB2に読み込む (1)は Range("A1").Addcomment Text: = "あいうえお" としてみました。 (2)が分かりません・・・。 まず、読み込む=コピーという考え方で良いのでしょうか? A1をB2にコピーすることは出来たのですが、 コメントとなるとどうしたらいいのかすら分かりません。 どなたか教えてください! よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

Sub test01() Range("A1").ClearComments Range("A1").AddComment Text:="aaa" Range("B2").Value = Range("a1").Comment.Text End Sub -- 他(自)セルのコメントをセルの値化すると考える必要があります。 セルの属性として、値や書式や数式やコメントや入力規則があるということの明確な自覚が必要。 Range("A1").ClearCommentsは入力規則でも同じだが、現状既に設定があると、上書きしてくれるのでなくエラーになるので、今後の注意喚起の為に 書いた。

yuzusuke2525
質問者

お礼

ご回答ありがとうございました。 とても参考になりました。 今後また何かありましたら宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

#1です。 >逆にすればいいのです。 失礼しました。 (1)でセルの内容をコメントに挿入しているのだと 勘違いしてました。

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

逆にすればいいのです。 Range("B2").Value = Range("A1").Comment.Text

yuzusuke2525
質問者

お礼

ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBA セルに他セルをコピペしたコメントを挿入 

    A1~A200のセルに、D1~D200の値をそれぞれコピーしたコメントを挿入するマクロを作ろうとしています。 A1に、何も書いていないコメントを挿入することはできました。 Dim i As Long For i = 1 To 200 Range("A" & i).AddComment Range("A" & i).Comment.Visible = False Next i End Sub このコメントに、D1~D200の値を貼り付けたい場合は(A1にはD1の値を、A2にはD2の値といった具合)どのように書けばよいのでしょうか? Private Sub Worksheet_Change という記述になるのかと思いますが、うまくいかないのでどなたかご存じでしたら教えてください。 よろしくお願いします。

  • エクセルVBAでコメントのコピー

    こんにちは。現在VBAでデータ集計をしている者です。 作業内容に沿った説明をしていると長くなりそうなので単刀直入に伺います。 たとえば、A列のいくつかの行のセルにコメントが挿入されていたとします。 そのコメントをコピーして、ひとつ隣のB列のセルにコメント"内容"をペーストしたいと考えているのですが、うまくいきません。 何か良い方法はないでしょうか。 その逆(B列のセルのデータをその隣のA列にコメントとしてコピー)なら以下のソースでできるのですが…。 Sub Comment_Copy() Dim C_str As String Dim i As Integer For i = 1 To 100 If ActiveSheet.Cells(i, 2).Value <> "" Then C_str = ActiveSheet.Cells(i, 2).Value ActiveSheet.Cells(i, 1).AddComment (C_str) End If Next i End Sub

  • VBAで連続して二つのセルの内容をを一つのセルにコピー

    初めまして、よろしくお願いします。 VBAで連続して二つのセルの内容をを一つのセルにコピーしたいと考えています。 Sub Test1() Sheet1.Range("A1") = Sheet2.Range("A1") & Sheet2.Range("C1") End Sub というのは解りますが、A1からA100までの連続で、その間空白がある場合のVBAを教えて頂きたく、よろしくお願いします。

  • VBAで列全てに式を入れたいんです。

    エクセルで 例えばセルA1,B1,C1を選択して 3つのセルの値をD1に値としてコピーする事は出来ませんか? A1,B1,C1はVBAで得た値です。 関数で1つにすると、もう一度コピーして値として 貼り付けなけねばなりませんので・・・ VBAは他の方に作成して頂いたので、 知識としてはありません。 VBAでの追加の仕方があればお教え下さい。 下記の回答を頂きまして 上手くいったのですが、 その式を、列全てで行うのはどうすればいいのでしょうか? 「 次のコードをEnd Subの上の行に挿入してください With Sheets("シート名") .Range("D1") = .Range("A1") & .Range("B1") & .Range("C1") End with 」 すみません。誰かお教え下さい。

  • VBAでの結合セルのコピー&ペースト

    こんにちは。 EXCELのVBAでマクロを作成しています。 セルの値のコピー&ペーストを行おうとしているのですが、結合されているセルのペーストのときに、「同じ結合セルが必要です」とエラーになってしまいます。 例えば、A1とA2が結合されたセル+A3をコピー Worksheets(x).Activate Range("A1:A3").Selection Range("A1:A3").Copy 別のシートで、B1とB2が結合されたセル+B3にペースト Worksheets(y).Activate Range("B1:B3").Paste セルの結合を解除すればうまくいきます・・・ セルを結合したままペーストしたいのですが、どうやら間違っているようです(ノ_・。) どなたか教えてください。 よろしくお願いします。

  • エクセル マクロ 選択した複数シートにコメント挿入のやり方

    はじめて質問させていただきます。 エクセルのマクロで選択された複数シートに順番に コメントを挿入する・・というのをしたいのですが うまくいきません。 "Exs.Range("A1").AddComment"の部分で 「実行時エラー:1004 アプリケーション定義またはオブジェクト定義のエラーです」 となってしまいます。 マクロの記録で試そうとも思ったのですが、 複数シートを選択すると、右クリックしても コメント挿入のメニューが表示されませんでした。 元々、複数シートへのコメント挿入はできないのでしょうか・・? ソースは以下です。 Sub Macro1() Dim Exs As Worksheet Dim sSheet As Long Dim i As Long '選択されたシート数を取得 sSheet = ActiveWindow.SelectedSheets.Count i = 1 '選択されたシート数分、A1セルにコメントをつけていく Do While i <= sSheet ActiveWindow.SelectedSheets.Item(i).Activate Set Exs = ActiveWorkbook.ActiveSheet Exs.Range("A1").ClearComments Exs.Range("A1").AddComment Exs.Range("A1").Comment.Visible = True Exs.Range("A1").Comment.Text Text:=Chr(10) & "てすとー" Exs.Range("A1").Select i = i + 1 Loop End Sub お解かりになる方いらっしゃいましたら、 なにとぞよろしくお願いいたします。

  • Excel VBA: セルの参照方法

    Excel VBAで、セルの範囲を指定するときには、 Range("A2:B3") とやりますよね。 ここのとこで、B3セルではなくBxセルにしたいときにはどうすればいいです?。 つまり、xは変数です。 Range("A2:Bx")と書いていいのでしょうか。

  • エクセルVBAのコメント設定について教えていただけないでしょうか。

    エクセルVBAのコメント設定について教えていただけないでしょうか。 セルK2に、「8/13」など、日付を投入します。 セルL2には「=DAY(K2)」と投入して、日付だけを表示させています。 セル11行目から下方向に、1日から31日まで表示されています。 セルK2に表示された日付を元に、M列の対象となる日付に以下の ようにコメントを入れようと思っています。 K2が13日でしたら、M23にコメントを入れたいと思っています。 「13(金)        ←←改行する。 通知予定」 次のようにマクロを設定しましたが、(1)曜日の情報をコメント欄に入れることがで きません。 また、(2)コメントの書式設定がうまくいきません。 コメント欄を「MSゴシック」のフォントで「14ポイント」のサイズで 「自動サイズ調整」をしたいのですが、コメントが挿入されたセルの書式が変更さ れてしまいます。 曜日の情報入れて、コメントの書式を設定する方法を教えていただけないでしょうか。 --------------------------------------------------------------------- Sub コメント書式設定2() Dim 通知日 As Long 通知日 = Range("l2").Value Cells(通知日 + 10, 13).Select ActiveCell.AddComment Text:=通知日 & Chr(10) & "通知予定" With Selection.Font .Name = "MS Pゴシック" .FontStyle = "太字" .Size = 14 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End Sub

  • ExcelのVBで実行できました、ACCESSのVBでは

    例えば、Book1.xls、のVBに 下記の関数を作りました 内容はエクセルのセルにコメントをいれるものです ----------------------------------------------- Sub Sample() Range("b2:b2").AddComment Text:="私のメモ" End Sub ----------------------------------------------- これを ACCESSのVBで実行するにはどうするのでしょうか WindowXP Office2003を使っています 足りない情報があるば追記します よろしくおねがいします

  • Excel-VBA コメントの書式設定

    Excel-VBA コメントの書式設定 コメントの書式設定をExcel-VBAで定義したい。 従い「マクロの記録」を実行して下記のソースコードを取得しました。 これを実行すると次の実行エラーが発生しました!? ★正常に動作させるソースコードの事例をいただければ幸いです。 ご指導よろしくお願いいたします。 実行時エラー'438' オブジェクトは、このプロパティまたはメソッドをサポートしていません。 Sub Macro1() ' 処理:マクロの記録 ' 目的:「コメントの挿入」と「コメントの書式設定」をする。 Range("A2").Select Range("A2").AddComment Range("A2").Comment.Visible = False Range("A2").Comment.Text Text:="コメント" & Chr(10) & "今日は良いお天気ですね。" '▽次で実行エラーが起きる!? Selection.ShapeRange.ScaleWidth 1.58, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 1.49, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 9 Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Line.Weight = 0.75 Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0) Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255) Selection.ShapeRange.LockAspectRatio = msoTrue Selection.ShapeRange.Height = 141.75 Selection.ShapeRange.Width = 283.5 Range("A1").Select End Sub

専門家に質問してみよう