• ベストアンサー

Excelでのコメントの書式について

教えてください。ExcelでA4の横の書式で表を作り、多数のセルにコメントをつけていました。その後、A4の縦に書式を変更し、字の大きさも変更しました。すると、コメントを表示するにした場合、付けていたコメントの矢印が、異常に長くなって何ページ後にもなってしまいました。コメントが少なければ、一つ一つ縮めることも出来るのですが、たくさんありすぎるので、シート全部のコメントの矢印を一緒に短くする方法はないでしょうか?また、そのコメントの字の大きさをシート全部一緒に小さくする方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

1つのワークシートに存在するコメント全部の位置をルールで決めた(例えばセルの右何ポイントに、とか)り、フォントサイズを設定する「操作」は(現状の)エクセルでは設けてないと思います。VBAでは判りますが、コメント はセルに属しています。 フォントは、ツール-オプション-全般-標準フォントも初めはこれに従うのかも知れませんが、変わった後に戻す機能はないでしょう。 すると1個ずつ人間の手作業でやる繰り返し作業を、 プログラム(VBA)でやらすより他の仕方がないです。 そこでVBAで考えてみました。2-3個の例では上手く行きましたが、(普通の解説書には載っていないもので)私レベルでは、精一杯の部分で、もしテストするならば、シートのコピーをとって試行錯誤をしてください。 ややこしいと思われるなら、本件は無視し、良い回答が出るのを待って見ましょう。多分望み薄でしょうが。 (修正必要点) ○Range("a1:j100") コメントが入っているセル範囲の最大範囲(左上はA1として、右下がR列第100行ならRange("a1:R100"))を指定してください ○ Selection.Font.Size = 12 好みのフォントサイズを指定してください。 ○Selection.ShapeRange.Height = 30 Selection.ShapeRange.Width = 100 実際に試行錯誤してコメントの四角の高さ、幅の数字を 指定してください。 ○x = Selection.ShapeRange.Left Selection.ShapeRange.IncrementLeft cl.Left - x + Range("b19").Width コメントのあるセルの右セルの左上に合わせています。 一定量を右寄せするなら‐20とか付け加えてください。 ○y = Selection.ShapeRange.Top Selection.ShapeRange.IncrementTop cl.Top - y もLeftと同じ考え方です。 (1) Sub test01() Dim cl As Range For Each cl In Range("a1:j100") If TypeName(cl.Comment) = "Nothing" Then Else cl.Comment.Visible = True cl.Comment.Shape.Select True Selection.Font.Size = 12 x = Selection.ShapeRange.Left Selection.ShapeRange.IncrementLeft cl.Left - x + Range("b19").Width y = Selection.ShapeRange.Top Selection.ShapeRange.IncrementTop cl.Top - y Selection.ShapeRange.Height = 30 Selection.ShapeRange.Width = 100 End If Next End Sub 問題のシートをアクチブにして、これをVBE画面の標準モジュール画面に貼りつけ、上記修正をして実行します。

関連するQ&A

専門家に質問してみよう