(Excel VBA) セルのコメントを一括で表示・非表示にする
目次
(追記) 気付いたんだけど、校閲タブのコメントグループにボタンがあった
これについては全くの見落としでしたが、よく見たら校閲タブのコメントグループに完全にこれ!っていうボタンが用意してありました。
- コメントの表示/非表示 :セル単位でのトグルボタン
- 全てのコメントの表示 :シート単位でのトグルボタン
それはそれとしてマクロでやる場合の記事が以下になります。
セルのコメントを一括表示する
はじめに
セルのコンテキストメニュー(右クリックメニュー)にある「セルの表示/非表示」はセル単位でしか働かず、複数セルを選択していてもあくまで現在のセルにしか効果はありません。
選択範囲のセルのコメントを一括で表示にする
Sub AllCommentVisibleTrue() Dim c As Range For Each c In Selection c.Comment.Visible = True Next c End Sub
選択範囲のセルが全てコメントを含んでいればうまく動きますが、選択範囲にコメントが含まれていないセルがあるとエラーになります。ならばエラーを無視すればいいのでは?
On Error Resume Next
これをDim行の上に入れることで動きました。この行の意味は「エラーが起きたら無視して次へ進め」です。
アクティブシートに含まれるコメントを一括で表示にする
それではセルの選択なしにアクティブシートのコメントを一括で表示する場合はどうなるでしょう。先ほどまではセルに対するcommentオブジェクトを操作していますが、こちらではワークシートに対するcommentsコレクションを操作します。
Sub SheetCommentVisibleTrue() ' ** アクティブシートのコメントを一括で表示にする ** For i = 1 To ActiveSheet.Comments.Count ActiveSheet.Comments(i).Visible = True Next i End Sub
非表示の場合
commentオブジェクトやcommenntsコレクションのVisibleプロパティに 表示 :True 非表示:False を設定する
以上。