スポンサードリンク

コメントが遠くに移動しないより良いポジション

前々回にコメントの表示に関して

www.excellovers.com

・オートフィルタ時の問題

・セル移動時の問題

両方を同時に解決する方法が見つからないとまとめたのですが、

Kotori-ChunChunさんより

いっそのこと、コメントをの位置(左上部分)をコメントを設定したセル(右下)にギリギリかかる位置に置いてしまってはどうでしょうか。

とコメントを頂きましたので検証してみます。

コメント挿入セルに被るように

コメントの書式設定⇛プロパティで

セルに合わせて移動するがサイズ変更はしない

にした上でこのようにコメントの左上をコメント挿入セルに被せるように配置するだけです。
f:id:ExcelLover:20190102221829j:plain

これで問題は全て解決するでしょうか?

以前やったテストを同じように行ってみます。

オートフィルタ時の追加したコメントは
f:id:ExcelLover:20190102221858j:plain

オートフィルタを解除してもこの通り。遠くに行きません。

行挿入
f:id:ExcelLover:20190102221917j:plain

残念!

これに関してはコメント挿入セルが下がったことによって、そこに配置されているコメントの位置が下がってしまいました。

列挿入
f:id:ExcelLover:20190102221935j:plain

これも行挿入と同じでコメント挿入セル=コメント配置セルになっているので、列を挿入することでコメントが移動してしまいます。

右方向シフト(コメントが挿入されている列のみ)
f:id:ExcelLover:20190102222403j:plain

これも同じ理由でコメントが動いてしまいます。

下方向シフト(コメントが配置されている行のみ(オレンジ箇所))
f:id:ExcelLover:20190102222421j:plain

これに関してはコメント挿入セルが動いていないためコメントが移動せずに済みました。

マクロも被るように

Option Explicit

Sub CommentPittariMove()
Application.ScreenUpdating = False
     Dim myRng As Range

     For Each myRng In Range("A1").SpecialCells(xlCellTypeComments)
               With myRng.Comment.Shape
                    .Left = myRng.Offset(, 1).Left - 1
                    .Top = myRng.Offset(1, 1).Top - 1
                    .Placement = xlMove
               End With
     Next
Application.ScreenUpdating = True
End Sub

前回紹介したマクロもコメント挿入セルに被るように少しだけ改良しました。

まとめ

残念ながら問題の解決には至りませんでしたが、当初案よりもbetterな回避策が生まれました。

コメントはコメント挿入セルに被るように配置

Kotori-ChunChunさんコメント頂きましてありがとうございました。

勉強になりました