ユーザー名なしのコメントを入れるマクロ
3行マクロ 22回
ユーザー名なしのコメントを入れるマクロ
Excelのコメント機能は、セルに付箋のようなメモをつける機能です。
通常は、コメントをつける時に入力したユーザー名が自動で挿入されます。 このユーザー名が邪魔なときもありますね。
ユーザー名はDeleteキーで消せますが、いちいちめんどうです。
そこで今回は、ユーザー名なしのコメントをつけられるマクロを作成しましょう。
続いて補足として、コメントの位置を指定してから、コメントを作るマクロ作成します。
(サンプルファイルは、こちらから 3行マクロ22回サンプルデータ)
Excelバージョン:
ユーザー名なしのコメントを入れるマクロ
通常はコメントをつけると、ユーザー名が自動で挿入されます。
いちいちユーザー名を削除するのはめんどうなので、最初からユーザー名なしのコメントを挿入できるマクロをつくります。
いちいちユーザー名を削除するのはめんどうなので、最初からユーザー名なしのコメントを挿入できるマクロをつくります。
では、適当なセルを選択してマクロの記録を開始しましょう。
名前をつけて、保存先は、個人用マクロブックにします。
名前をつけて、保存先は、個人用マクロブックにします。
そして、右クリックのメニューからコメントの挿入を選びます。
コメントが入りました。マクロの記録を終了します。
では、マクロを見てみましょう。命令が3行記入されています。
Range("B3").AddComment
B3セルにコメントを挿入という意味です。
Range("B3").AddComment
B3セルにコメントを挿入という意味です。
次の行は、
Range("B3").Comment.Visible = False
B3セルのコメントを非表示という意味です。
Range("B3").Comment.Text Text:="nekogenki:" & Chr(10) & ""
B3セルのコメントにユーザー名を入力するという意味です。
Range("B3").Comment.Visible = False
B3セルのコメントを非表示という意味です。
Range("B3").Comment.Text Text:="nekogenki:" & Chr(10) & ""
B3セルのコメントにユーザー名を入力するという意味です。
では、コードを以下のように変更します。
Range("B3")をActivecellに
ユーザー名を入力するという命令は不要なので、削除します。
Range("B3")をActivecellに
ユーザー名を入力するという命令は不要なので、削除します。
そうそう、セルのコメントを非表示から表示のTRUEにしておきましょう。
Sub ユーザー名なしのコメントを作る() ActiveCell.AddComment ActiveCell.Comment.Visible = True End Sub
マクロを実行してみましょう。
ユーザー名なしのカラ(空)のコメントができます。すぐに入力できるので便利です。
コメントの位置を指定して作るマクロ
ユーザー名のないテキスト入力のコメントはできましたがその位置はバラバラです。
何か統一感を持たせたいと考える場合もあるかと思います。
そこで次にコメントの位置を指定してから、コメントを作るマクロ作成しましょう。
ただしコードは3行では収まりませんので、その辺はご容赦願います。
何か統一感を持たせたいと考える場合もあるかと思います。
そこで次にコメントの位置を指定してから、コメントを作るマクロ作成しましょう。
ただしコードは3行では収まりませんので、その辺はご容赦願います。
例えばアクティブセルのトップとレフトという位置は、取得できるのでその位置に合わせてコメントを作成してみます。
コードは次のようになります。またコードには画面のちらつきを防止するために、
ActiveCell.Comment.Visible = False
というコードを記述しています。この部分は不要であれば、削除してかまいません。
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ピクセル下と右にずらすようにコードを変更しましょう。
しかし 、若干ぴったりすぎるようです。
そこで、アクティブセルの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
今日の講義は以上です。お疲れ様でした。