Peggy ha diverse celle in un foglio di lavoro a cui sono associati commenti. Quando fa clic con il pulsante destro del mouse su una di queste celle, può scegliere Modifica commento dal menu contestuale risultante per modificare il commento. Se il commento era uno che ha creato in una sessione precedente con Excel, non è insolito che il commento si apra altrove nel foglio di lavoro, a volte a diverse schermate di distanza. Peggy si chiede se esiste un modo per far apparire il commento accanto alla cella con cui è associato.

Questa condizione può essere causata da diverse cose. Ad esempio, è possibile che durante la modifica del commento in precedenza, tu abbia fatto clic sul bordo della casella dei commenti e trascinato il commento in un punto diverso del foglio di lavoro. In questo caso, Excel ricorda dove è stato spostato il commento e lo visualizza sempre nella posizione memorizzata.

Un’altra causa comune è che si filtrano i dati, il che si traduce in alcune righe o colonne nascoste mentre il filtro è attivo. Se poi modifichi i commenti nelle celle filtrate, hai effettivamente “spostato” il commento dalla posizione originale a una nuova posizione associata alla riga o alla colonna visibile sullo schermo. Quando in seguito rimuovi il filtro e provi a modificare il commento, questo ricorda dove è stato modificato in precedenza ed è qui che si verifica la nuova opportunità di modifica.

In entrambi i casi, la soluzione normale è semplicemente sorridere e sopportare, spostare manualmente le celle da dove si trovano a dove vuoi.

Tuttavia, se hai questo problema con molte celle, tutto lo spostamento manuale può essere un vero fastidio. In tal caso, potresti voler utilizzare una macro per eseguire lo spostamento per te.

Sub MoveComments1()

Dim cmt As Comment

For Each cmt In ActiveSheet.Comments         With cmt           .Shape.Top = .Parent.Top           .Shape.Left = .Parent.Offset(0, 1).Left         End With     Next cmt End Sub

Questa macro sposta tutti i commenti in un foglio di lavoro in modo che il loro angolo superiore sinistro sia lo stesso dell’angolo superiore destro della cella a cui sono collegati. Questo mette i commenti proprio accanto alle loro celle, che è dove li vuoi.

Se desideri modificare tutti i commenti in un’intera cartella di lavoro, oltre a “dimensionare automaticamente” ciascuna delle caselle dei commenti, puoi utilizzare questa variazione sulla macro:

Sub MoveComments2()

Dim wbk As Workbook     Dim wks As Worksheet     Dim cmt As Comment     Dim rngC As Range     Dim lArea As Long

Set wbk = ActiveWorkbook

On Error Resume Next

For Each wks In wbk.Worksheets         For Each cmt In wks.Comments             With cmt                 .Shape.TextFrame.AutoSize = True                 If .Shape.Width > 200 Then                     lArea = .Shape.Width  .Shape.Height                     .Shape.Width = 200                     .Shape.Height = (lArea / 200)  1.1                 End If                 .Shape.Top = .Parent.Top                 .Shape.Left = .Parent.Offset(0, 1).Left             End With         Next cmt     Next wks End Sub

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (9703) si applica a Microsoft Excel 2007, 2010 e 2013. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia di menu di Excel qui: