Ottieni un elenco di tutti i commenti in un foglio di lavoro in Excel

Se lavori con fogli di lavoro Excel che hanno molti commenti di cella in un foglio di lavoro, questo tutorial potrebbe essere utile. A volte potresti inserire commenti nelle celle per evidenziare o spiegare i dati, oppure il tuo capo potrebbe inserire commenti nelle celle durante la revisione del tuo lavoro.

Se si dispone di un enorme set di dati e i commenti sono sparsi in tutto il foglio di lavoro, può essere utile avere tutti i commenti in un unico posto come elenco.

Ottieni un elenco di tutti i commenti in un foglio di lavoro

In questo tutorial, ti mostrerò come utilizzare un codice VBA per ottenere un elenco di tutti i commenti in un foglio di lavoro in un foglio di lavoro separato.

Qualcosa come mostrato di seguito:

C'è un codice VBA nel backend che fa le seguenti cose:

  • Controlla se ci sono commenti nel foglio di lavoro attivo o meno. Se non ci sono commenti, si ritira silenziosamente e non fa nulla.
  • Se sono presenti commenti nel foglio di lavoro, crea un nuovo foglio di lavoro ("Commenti") ed estrae un elenco di tutti i commenti nella seguente struttura:
    • La colonna A contiene l'indirizzo della cella con il commento.
    • La colonna B ha il nome del commentatore. Questo è utile se ci sono più revisori dello stesso file. Aiuterà anche a filtrare/ordinare in base al nome dei revisori.
    • La colonna C contiene il commento.

Scarica il file di esempio

Il codice VBA

Ecco il codice VBA che fa tutto il lavoro pesante qui.

Sub ExtractComments() Dim ExComment As Comment Dim i As Integer Dim ws As Worksheet Dim CS As Worksheet Set CS = ActiveSheet If ActiveSheet.Comments.Count = 0 Quindi esci da Sub per ogni ws In Worksheets If ws.Name = "Comments" Then i = 1 Next ws If i = 0 Then Set ws = Worksheets.Add(After:=ActiveSheet) ws.Name = "Comments" Else: Set ws = Worksheets("Comments") End If Per ogni ExComment in CS.Comments ws. Range("A1").Value = "Comment In" ws.Range("B1").Value = "Comment By" ws.Range("C1").Value = "Comment" With ws.Range("A1: C1") .Font.Bold = True .Interior.Color = RGB(189, 215, 238) .Columns.ColumnWidth = 20 End With If ws.Range("A2") = "" Then ws.Range("A2" ).Value = ExComment.Parent.Address ws.Range("B2").Value = Left(ExComment.Text, InStr(1, ExComment.Text, ":") - 1) ws.Range("C2"). Value = Right(ExComment.Text, Len(ExComment.Text) - InStr(1, ExComment.Text, ":")) Else ws.Range("A1").End(xlDown).Offset(1, 0) = ExComment.Parent.Address ws.Range("B1").End(xlDown).Offset(1, 0) = Left(ExComment. Text, InStr(1, ExComment.Text, ":") - 1) ws.Range("C1").End(xlDown).Offset(1, 0) = Right(ExComment.Text, Len(ExComment.Text) - InStr(1, ExComment.Text, ":")) End If Next ExComment End Sub

Come usare questo codice

Ci sono un paio di modi in cui puoi usare questo codice per ottenere un elenco di commenti dal tuo foglio di lavoro:

#1 Copia e incolla i dati nel file di esempio

Copia incolla i tuoi dati (così come sono) nella scheda Dati del file di download e quindi esegui questa macro.

Per eseguire questo:

  • Vai alla scheda Sviluppatore e fai clic su Macro. Si aprirà la finestra di dialogo Macro.
  • Seleziona EstraiCommento e fai clic su Esegui. Assicurati di essere nel foglio che contiene i commenti che desideri estrarre.

#2 Copia e incolla il codice nella cartella di lavoro

Copia il codice e incollalo nella cartella di lavoro da cui vuoi estrarre i commenti.

Per fare questo:

  • Attiva la cartella di lavoro in cui stai lavorando e premi Alt + F11. Questo aprirà la finestra dell'editor VB.
  • Nell'Esplora progetti a sinistra, fai clic con il pulsante destro del mouse su uno qualsiasi degli oggetti per quella cartella di lavoro, vai su Inserisci -> Modulo.
  • Incolla il codice nella finestra Codice modulo.
  • Chiudi la finestra dell'editor VB (o premi Alt + F11 per tornare al foglio di lavoro).

Ora hai la macro nella tua cartella di lavoro. Per eseguire la macro, vai alla scheda Sviluppatore -> Macro. Nella finestra di dialogo Macro, seleziona la macro ExtractComment e fai clic su Esegui.

Nota: assicurati di salvare la cartella di lavoro insieme a .Estensione XLS o .XLSM.

#3 Crea un componente aggiuntivo

Se hai bisogno di usare spesso questo codice, è meglio creare un componente aggiuntivo da esso. In questo modo puoi usarlo facilmente in qualsiasi cartella di lavoro (senza lo sforzo aggiuntivo di copiare e incollare il codice ancora e ancora).

Ecco come creare un componente aggiuntivo:

  • Vai su File -> Salva con nome.
  • Nella finestra di dialogo Salva con nome, modificare il tipo Salva come in .xlam.
    • Noterai che il percorso del file in cui viene salvato cambia automaticamente. Puoi cambiarlo se vuoi.
  • Apri una cartella di lavoro di Excel e vai su Sviluppatore -> Componenti aggiuntivi -> Componenti aggiuntivi di Excel.
  • Nella finestra di dialogo Componenti aggiuntivi, sfoglia e individua il file che hai salvato e fai clic su OK.

Una volta attivato un componente aggiuntivo, è possibile utilizzarlo in qualsiasi cartella di lavoro. Per farlo, vai su Sviluppatore -> Macro. Nella finestra di dialogo Macro, seleziona la macro ExtractComment ed eseguila.

Scarica il file di esempio

Spero che questo codice ti faccia risparmiare un po' di tempo. Fatemi sapere i vostri pensieri nella sezione commenti.

Se lavori con Excel, VBA potrebbe essere un potente alleato. Porta le tue competenze di Excel al livello successivo con il corso VBA di Excel.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave