Condividi tramite

tutti i commenti sono prima riga in excel

Anonimo
2016-06-10T10:37:03+00:00

Ciao a tutti,

ho un problema strano con un foglio excel (2010 e 2013), i riquadri di tutti i commenti delle celle sono stati automaticamente spostati nella prima riga e azzerati in dimensioni (il riquadro ha altezza zero).

Quindi in ogni cella (ho più di 2000 righe) compare il simbolo del commento, ma il relativo commento non viene mostrato perchè troppo "lontano" e comunque non sarebbe visibile per via delle dimensioni errate.

Come posso riportare tutto alla normalità?

Grazie

Ciao

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2016-06-10T11:52:55+00:00

Ciao Giuseppe,

Ho trascurato il problema della dimensione dei commenti!

Quindi, sostituisci il codice precedente con la seguente versione:

'=========>>

Option Explicit

'--------->>

Public Sub Tester()

    Dim WB As Workbook

    Dim SH As Worksheet

    Dim oComment As Comment

    Const myIndent As Long = 5

    Set WB = ThisWorkbook

    On Error GoTo XIT

    Application.ScreenUpdating = False

    For Each SH In WB.Worksheets

        With SH

            For Each oComment In .Comments

                With oComment

                    .Shape.Top = .Parent.Top + myIndent

                    .Shape.Left = .Parent.Offset(0, 1).Left + myIndent

                    Call ResizeComments(oComment)

                End With

            Next

        End With

    Next SH

XIT:

    Application.ScreenUpdating = True

End Sub

'--------->>

Public Sub ResizeComments(aComment As Comment)

    Dim myArea As Long

    With aComment.Shape

        .TextFrame.AutoSize = True

        If .Width > 300 Then

            myArea = .Width * .Height

            .Width = 200

            .Height = (myArea / 200) * 1.1

        End If

    End With

End Sub

'<<=========

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-06-10T12:22:30+00:00

    Per chiudere questo thread, vorrei chiederti gentilmente di segnare la mia risposta come Risposta.

    +1 ... hic!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-06-10T12:14:37+00:00

    Ciao Giuseppe,

    Mi fa piacere che hai risolto il problema e ti ringrazio per il cortese riscontro.

    Per chiudere questo thread, vorrei chiederti gentilmente di segnare la mia risposta come Risposta. In questo modo, tu aiuterai anche coloro che potessero cercare soluzioni ai problemi simili negli archivi della Community.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-06-10T12:09:53+00:00

    Grazie!

    Ha funzionato.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-06-10T11:19:41+00:00

    Ciao Giuseppe,

    ho un problema strano con un foglio excel (2010 e 2013), i riquadri di tutti i commenti delle celle sono stati automaticamente spostati nella prima riga e azzerati in dimensioni (il riquadro ha altezza zero).

    Quindi in ogni cella (ho più di 2000 righe) compare il simbolo del commento, ma il relativo commento non viene mostrato perchè troppo "lontano" e comunque non sarebbe visibile per via delle dimensioni errate.

    Come posso riportare tutto alla normalità?

    Benvenuto alla Community!

    Prova qualcosa del genere:

    • Alt+F11 per aprire l'editor di VBA
    • Menù | Inserisci | Modulo (oppure Alt+IM) per inserire un nuovo modulo di codice
    • Nel nuovo modulo vuoto, incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Public Sub Tester()

        Dim WB As Workbook

        Dim SH As Worksheet

        Dim oComment As Comment

        Const myIndent As Long = 5

        Set WB = ThisWorkbook

        On Error GoTo XIT

        Application.ScreenUpdating = False

        For Each SH In WB.Worksheets

            With SH

                For Each oComment In .Comments

                    With oComment

                        .Shape.Top = .Parent.Top + myIndent

                        .Shape.Left = .Parent.Offset(0, 1).Left + myIndent

                    End With

                Next

            End With

        Next SH

    XIT:

         Application.ScreenUpdating = True

    End Sub

    '<<========= 

    • Alt+Q per chiudere l'editor di VBA e tornare a Excel
    • Salva il file con l’estensione xlsm
    • Alt+F8 per aprire  la finestra di gestione delle macro
    • Seleziona Tester | Esegui

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento