VBAでExcelのコメントを一括で自動サイズにしてカッコよくする
エクセルのコメントは便利です。昔からかたくなに変わることのない最低限の機能とデザイン。誰が見ても見まごうなきエクセルのコメント。そんなコメントの印象を少し変えてみました。
エクセルのコメントは挿入すると既定サイズになります。これが結構大きい。おそらく付箋紙をイメージしたのだと思いますが、短い文字しか書かないことも多いので、私には大きすぎるのです。
もうひとつは初期設定だとなぜか「オブジェクトの位置関係」が「セルに合わせて移動やサイズ変更をしない」になっているので、行を挿入したり、列の幅を変えたりするとコメントがえらいことになります。セルに合わせて移動するようにしましょう。
あとはその独特な薄い黄色にお堅いイメージの黒線+ソリッドな影。このへんをもう少し柔らかくしちゃいましょう。
というわけで今回は下の5つについて設定してみます。
- サイズ自動設定
- 形状を角丸四角形に変更
- 塗り色・線色・影変更
- 太字解除、中央揃え
- セルに合わせて移動する
やり方
手っ取り早く手順だけ。細かい説明は時間があれば書きます。
まず、VBAを使うので、Excel 2007以降ではマクロ有効ブック(.xlsm)形式で保存しておいたほうがよいです。
VBAを開きます。Alt + F8を押してマクロウィンドウを表示させ、[編集(E)]ボタンを押すとVBAが起動するはずです。起動したらプロジェクトエクスプローラーでVBAProject(ファイル名)となっているところを右クリックし、[挿入]→[標準モジュール]を選んで標準モジュールを追加します。
Module1というウィンドウが開くはずなので、
その中に下記のコードをコピペします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Sub ReformComment() Dim cl As Range For Each cl In Selection If Not cl.Comment Is Nothing Then With cl.Comment.Shape ' サイズ自動設定 .TextFrame.AutoSize = True ' 形状を角丸四角形に変更 .AutoShapeType = msoShapeRoundedRectangle ' 塗り色・線色 変更 .Line.ForeColor.RGB = RGB(128, 128, 128) .Fill.ForeColor.RGB = RGB(240, 240, 240) ' 影 透過率 30%、オフセット量 x:1px,y:1px .Shadow.Transparency = 0.3 .Shadow.OffsetX = 1 .Shadow.OffsetY = 1 ' 太字解除、中央揃え .TextFrame.Characters.Font.Bold = False .TextFrame.HorizontalAlignment = xlHAlignCenter ' セルに合わせて移動する .Placement = xlMove End With End If Next cl End Sub |
変えたくない部分がある場合はその行を削除してください。あとはカスタマイズしたいコメントが入ったセル範囲を選択して、[Sub/ユーザーフォームの実行]ボタンを押します。
たぶんこれでコメントがわりとシンプルでイマドキな感じになると思います。
That’s it!