ExcelVBAでセル上のコメントを操作する
使ってみたら意外と便利だったのでまとめてみました。変数と改行組み合わせて文字列作成して、コメントとして入れてあげるとかなり実用性が増します。
工夫次第でかなり使える!
発注の数なんかをデータベースからExcelに取り込んだときに、「発注日:YY/MM/DD(改行)納入日:YY/MM/DD」みたいにコメントとして付加してあげたり、「備考」があったときだけ入れたりとか。列/行を増やしたくないとか、セルじゃなくてちょっと差別化したいってときなんかにも、結構有用です。
コメントの有無を調べて書く
Sub コメント書込() Dim str As String str = "サンプル" & vbCrLf & "テキスト" 'コメントに入れる文字列(vbCrLfは改行) If Range("A1").Comment Is Nothing Then 'コメントが存在しなかったとき Range("A1").AddComment str '新規書込 Else '既にコメントがあるとき Range("A1").Comment.Text str '上書き End If End Sub
コメントを削除する
Sub コメント削除() Range("A1").ClearComments '削除 End Sub
既に存在するコメント内容を取得する
Sub コメント内容取得() Dim str As String str = Range("A1").NoteText '取得 End Sub
コメントが存在しなかった場合は空白が入ります。
コメント枠・フォントサイズの変更
Sub コメント枠フォント変更() Dim cmt As Comment If Not Range("A1").Comment Is Nothing Then 'コメントが存在するときだけ Set cmt = Range("A1").Comment 'コメントオブジェクトをセット cmt.Shape.Height = 50 '高さ cmt.Shape.Width = 100 '幅 cmt.Shape.TextFrame.Characters.Font.Size = 12 'フォントサイズ End If End Sub
存在しないコメントオブジェクトをセットしようとするとエラーになってしまうので、最初に存在有無の確認をします。
Range(“A1”).Comment.Shape.TextFrame.AutoSize = True と書くとオートサイズで大きさ調整してくれるからこっちも便利!
コメントの表示・非表示
Sub コメント表示() If Not Range("A1").Comment Is Nothing Then 'コメントが存在するときだけ Range("A1").Comment.Visible = True '表示 Range("A1").Comment.Visible = False '非表示 End If End Sub
これも存在しないコメントはエラーになるので、存在確認してから。
ざっと書き出して、だいたいこんなところでしょうか。自分用ではありますが、どなたかのお役に立てたら嬉しいです!
ExcelVBAに興味をお持ちの方は、こちらの記事もどうぞ!
- これからExcelのマクロを始めたいという方に!簡単な練習問題作りました。
- 私がExcelVBAでよく使う便利なコード・スニペットまとめ
- プログラム初心者さんへ贈る、エラーが起きたら試してみて欲しいこと
- ExcelVBAのクラスモジュールって何?という人向けの使い方まとめ
書籍を執筆しています。
2件のコメント
先日メッセージさせていただいたものです!
*youさんのブログ、全てにおいて勉強させられてます。
VBAもまったくの未知の世界…(^_^;)私もデータ色々扱っていながらも効率は良くなく。ちょっとのやる気でどうにでもなるのに、と反省。
沢山吸収したいです。
これからも更新楽しみにしています!
すまこさん、こんにちは!
先日はメッセージありがとうございました、記事にまでコメント頂けて嬉しいです(*´∀`*)
Web系の方にはVBAは響かず、VBAを求めている方にはWeb系の記事は必要ないという、ちょっと離れたジャンルを書いているという自覚があるので、どちらも読んで頂けるなんてこんなに光栄なことはありません!
VBA、そんなに極めなくても、ちょこっと覚えるだけでかなり使い勝手が良いので、ぜひぜひお勧めです!ルーチンワークが目に見えて時間短縮できるのはとっても楽しいですよー♡
コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。