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 回答