3

Excel のコメント ポップアップは、通常は右に表示されますが、左に表示されることがあります。左にポップするコメントを別の列に移動すると、コメントの内容を変更できるように、右にポップすることができます。ポップアップの方向を制御するために、Excel は列とコメントの情報をどのように処理していますか? ポップアップの方向をより直接的に制御できますか? MSは、私が見つけることができるこれを文書化していません。コメント ポップアップの場所を制御する Visual Basic の方法を求めているわけではありません。これを行う方法は既に知っているからです。本当にありがとう。

4

1 に答える 1

3

コメント ボックスは、セル内のコメント内に形状どおりに格納されます。

このコードは、内部に格納されているアクティブ セルに関連してポップアップ方向を制御します。(セル D8 にコメントがあると仮定)

Sub MoveCommentLocation()
    Dim x As Integer
    Dim y As Integer
    Dim bVisible As Boolean

    With Range("D8")
        ' read position of the cell
        x = .Left
        y = .Top
        ' if comment is initially hidden, we need to unhide it to move it
        bVisible = .Comment.Visible
        If Not bVisible Then .Comment.Visible = True

        With .Comment.Shape
            ' move comment relative to the cell
            .Left = x - 30
            .Top = y + 50
        End With

        If Not bVisible Then .Comment.Visible = False
    End With

End Sub

注: コメントが非表示の場合は、移動する前に非表示を解除する必要があります。(コードは上記に含まれています)

さらに、Excel は、セルの右上にあるコメント ボックスの最も近い角を選択して、矢印を描画する場所を選択します。コンテキストやフォントによってコメント ボックスのサイズや形状が異なる場合は、セルの右下に配置して、常に左上を指すようにすることをお勧めします。

于 2012-09-18T23:21:02.630 に答える