Excel VBA 3行マクロ~22回 ユーザー名なしのコメントを入れるマクロ

ユーザー名なしのコメントを入れるマクロ

ユーザー名なしでコメントを入れ、さらにコメントの位置も指定するマクロ

3行マクロ 22回

ユーザー名なしのコメントを入れるマクロ

Excelのコメント機能は、セルに付箋のようなメモをつける機能です。
通常は、コメントをつける時に入力したユーザー名が自動で挿入されます。 このユーザー名が邪魔なときもありますね。

ユーザー名はDeleteキーで消せますが、いちいちめんどうです。 そこで今回は、ユーザー名なしのコメントをつけられるマクロを作成しましょう。
続いて補足として、コメントの位置を指定してから、コメントを作るマクロ作成します。 (サンプルファイルは、こちらから 3行マクロ22回サンプルデータ
Excelバージョン:Excel2016201320102007

ユーザー名なしのコメントを入れるマクロ

通常はコメントをつけると、ユーザー名が自動で挿入されます。
いちいちユーザー名を削除するのはめんどうなので、最初からユーザー名なしのコメントを挿入できるマクロをつくります。 コメント
では、適当なセルを選択してマクロの記録を開始しましょう。
名前をつけて、保存先は、個人用マクロブックにします。
ユーザー名なしのコメントを作る2
そして、右クリックのメニューからコメントの挿入を選びます。
コメントの挿入
コメントが入りました。マクロの記録を終了します。
コメントを挿入2
では、マクロを見てみましょう。命令が3行記入されています。
Range("B3").AddComment
B3セルにコメントを挿入という意味です。
AddComment
次の行は、
Range("B3").Comment.Visible = False
B3セルのコメントを非表示という意味です。

Range("B3").Comment.Text Text:="nekogenki:" & Chr(10) & ""
B3セルのコメントにユーザー名を入力するという意味です。
では、コードを以下のように変更します。
Range("B3")をActivecellに
ユーザー名を入力するという命令は不要なので、削除します。
ActiveCell
そうそう、セルのコメントを非表示から表示のTRUEにしておきましょう。

Sub ユーザー名なしのコメントを作る()
    ActiveCell.AddComment
    ActiveCell.Comment.Visible = True
End Sub
マクロを実行してみましょう。
ユーザー名なしのコメントを作るマクロ
ユーザー名なしのカラ(空)のコメントができます。すぐに入力できるので便利です。
空のコメント

コメントの位置を指定して作るマクロ

ユーザー名のないテキスト入力のコメントはできましたがその位置はバラバラです。
何か統一感を持たせたいと考える場合もあるかと思います。
そこで次にコメントの位置を指定してから、コメントを作るマクロ作成しましょう。
ただしコードは3行では収まりませんので、その辺はご容赦願います。
例えばアクティブセルのトップとレフトという位置は、取得できるのでその位置に合わせてコメントを作成してみます。 コードは次のようになります。またコードには画面のちらつきを防止するために、
ActiveCell.Comment.Visible = False
というコードを記述しています。この部分は不要であれば、削除してかまいません。
Sub ユーザー名なしのコメントを作るver2()
  ActiveCell.AddComment
  ActiveCell.Comment.Visible = False ' コメントを隠す。ちらつき防止の為
  ActiveCell.Comment.Shape.Top = ActiveCell.Top ' セルの上端に合わせる
  ActiveCell.Comment.Shape.Left = ActiveCell.Left ' セルの左端に合わせる
  ActiveCell.Comment.Visible = True ' コメントを表示する
End Sub  
実行すると次のようにアクティブセルのTopとLeftにぴったり表示されます。
しかし 、若干ぴったりすぎるようです。
そこで、アクティブセルのTopとLeftから10ピクセル下と右にずらすようにコードを変更しましょう。
Sub ユーザー名なしのコメントを作るver4()
    ActiveCell.AddComment
    ActiveCell.Comment.Shape.Top = ActiveCell.Top + 10 ' セルの上端から10ピクセル下に
    ActiveCell.Comment.Shape.Left = ActiveCell.Left + 10 ' セルの左端から10ピクセル右に
    ActiveCell.Comment.Visible = True ' コメントを表示する
End Sub
今日の講義は以上です。お疲れ様でした。

こちらもおすすめ