マイクロVBAのススメ

エクセルに付属している開発機能として、一度使いだしたら病みつきになること間違いなしの機能が「VBA」です。
元々はパソコンの黎明期には、「これしか無かったBASiC」のウインドウズ用ソフトビジュアルベーシックのエクセル版という位置づけでエクセルに実装された開発プログラムを指します。

DOS時代のベーシックに慣れ親しんだ方には、あまり親和性はありませんでしたが、もう少しエクセルを高度に使いたいという層には、大いに受けました。BASiCもビジュアルベーシックも、毎回プログラムそのものをマシンが読み取って、機械語に翻訳しながら実行していくというタイプで、インタープリタータイプと呼ばれています。

機械がすぐに読める形になっていませんので、実行に要する時間は当然遅いのですが、昨今のCPUの処理速度をもってすれば、よほど大規模のシステムを組まない限り、遅さは感じません。まして、今回おススメするマイクロVBAならば、ショートカットキーを割り当てておけば、好きな場所で実行できるという普通のプログラムでは考えられない利便性をもたらしてくれます。

今回ご紹介するのは、コメント機能(最新版ではメモ機能)です。
コメントは、場所を取らずに注釈を付けられる優れた機能ですが、残念な点は、コメントの枠の先頭にPCに付けた名前が必ず挿入され、文字数に関係なくある一定の大きさの枠が作られてしまうことです。これを、手で適当な大きさに直すのは、かなり手間がかかります。

まずは、以下の文字の羅列をご覧ください。

' Keyboard Shortcut: Ctrl+g
'
Sub コメント付与() '任意の場所にコメントを挿入するマクロ Ctrl + G で、作動
Dim myComment As String '変数を用意
myComment = (Range("H3")) '変数にデータを代入 「D11」は任意の文字に入れ替え可能10
ActiveCell.ClearComments 'そのセルにあるコメントをクリアーする
ActiveCell.AddComment myComment '指定したセルのコメントを書く
ActiveCell.Comment.Shape.TextFrame.AutoSize = True 'コメントの長さにコメント欄の大きさを合わせる
'ActiveCell.Comment.Visible = True このオプションを使えば、コメント表示できる
ActiveCell.Offset(1, 0).Range("A1").Select '次の操作に備えて、セルを下に一つずらす
End Sub

何じゃぁ、これは~~~~~。と、思うのも無理はありません。
実際にマクロを動かすまでの手順をまだ書いていませんので、これだけでは動かすのは無理というものですが、既にVBAを多少とも齧った人になら、この文字の羅列が何をするのか、およその見当がついた人いるかもしれません。

ガイド的なお答えだけ書いておきます。

【セルH3に書かれた文字を、指定のセル上でこのマクロを実行すると、指定したセルにH3にコメントとして書き込まれます。】という機能です。どのように使うかは、次回のお楽しみです。

この記事へのコメント