2012-09-18 20 views
2

Excel註釋彈出窗口通常會顯示在右側,但有時會顯示在左側。將左彈出式註釋移動到另一列可以使其右移,就像修改註釋的內容一樣。 Excel使用列和註釋信息來控制彈出方向是什麼?我可以更直接地控制彈出方向嗎? MS沒有記錄我能找到的這個。我沒有要求使用Visual Basic來控制評論彈出窗口的位置,因爲我已經知道如何執行此操作。非常感謝。將左側彈出式註釋移動到另一列可以使其右側彈出,同樣可以修改註釋的內容

+1

「MS不記錄這個」 - 這是因爲MS不知道它是如何工作的。評論是討厭的小動物。我懷疑字體大小,縮放,評論框大小,多屏幕布局,色帶,滾動位置等等,這使得難以確定它應該在哪裏:) – user3357963

回答

2

評論框被存儲爲在單元格內的註釋內成形。

該代碼將控制彈出方向與它存儲在其中的活動單元格有關。 (假設電池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選擇單元格右上角最接近的評論框的角落以選擇繪製箭頭的位置。如果您的評論框由於上下文和字體的不同會在大小/形狀上有所不同,我建議您將它們放在單元格的右下角,以便該位置始終指向左上角。