Få en lista över alla kommentarer i ett kalkylblad i Excel

Om du arbetar med Excel -kalkylblad som har många cellkommentarer i ett kalkylblad kan den här självstudien vara användbar. Ibland kan du infoga cellkommentarer för att markera eller förklara data, eller så kan din chef infoga kommentarer i celler medan du granskar ditt arbete.

Om du har en enorm datamängd och kommentarerna är spridda över hela kalkylbladet kan det hjälpa att ha alla kommentarer på en enda plats som en lista.

Få en lista över alla kommentarer i ett kalkylblad

I den här självstudien visar jag dig hur du använder en VBA -kod för att få en lista över alla kommentarer i ett kalkylblad i ett separat kalkylblad.

Något som visas nedan:

Det finns en VBA -kod i backend som gör följande saker:

  • Den kontrollerar om det finns några kommentarer i det aktiva kalkylbladet eller inte. Om det inte finns några kommentarer böjer det tyst ut och gör ingenting.
  • Om det finns kommentarer i kalkylbladet skapar det ett nytt kalkylblad ("Kommentarer") och extraherar en lista över alla kommentarer i följande struktur:
    • Kolumn A har celladressen som har kommentaren.
    • Kolumn B har namnet på kommentaren. Detta är praktiskt om det finns flera granskare av samma fil. Det hjälper också att filtrera/sortera baserat på granskarnas namn.
    • Kolumn C har kommentaren.

Ladda ner exempelfilen

VBA -koden

Här är VBA -koden som gör alla tunga lyft här.

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 Then Exit Sub For each ws In Worksheets If ws.Name = "Comments" Then i = 1 Nästa ws Om i = 0 Ställ sedan in ws = Worksheets.Add (After: = ActiveSheet) ws.Name = "Kommentarer" Else: Set ws = Worksheets ("Comments") End If för varje ExComment I CS.Comments ws. Område ("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 Avsluta med If ws.Range (" A2 ") =" "Sedan 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

Hur man använder den här koden

Det finns ett par sätt du kan använda den här koden för att få en lista med kommentarer från ditt kalkylblad:

#1 Kopiera klistra in data i exempelfilen

Kopiera klistra in din data (som den är) på fliken Data i nedladdningsfilen och kör sedan detta makro.

För att köra detta:

  • Gå till fliken Utvecklare och klicka på Makron. Det öppnar dialogrutan Makro.
  • Välj ExtractComment och klicka på Kör. Se till att du finns i det blad som innehåller de kommentarer som du vill extrahera.

#2 Kopiera Klistra in koden i din arbetsbok

Kopiera koden och klistra in den i arbetsboken som du vill extrahera kommentarerna från.

Att göra detta:

  • Aktivera arbetsboken där du arbetar och tryck på Alt + F11. Detta öppnar fönstret VB Editor.
  • I Project Explorer till vänster, högerklicka på något av objekten för den arbetsboken, gå till Infoga -> Modul.
  • Klistra in koden i modulkodfönstret.
  • Stäng fönstret VB Editor (eller tryck på Alt + F11 för att gå tillbaka till kalkylbladet).

Nu har du makrot i din arbetsbok. För att köra makrot, gå till fliken Utvecklare -> Makron. Markera makroet ExtractComment i dialogrutan Makro och klicka på Kör.

Obs! Se till att du sparar arbetsboken med.XLS- eller .XLSM -tillägg.

#3 Skapa ett tillägg

Om du behöver använda den här koden ofta är det bäst att skapa ett tillägg av den. På så sätt kan du enkelt använda den i vilken arbetsbok som helst (utan extra ansträngning att kopiera koden igen och igen).

Så här skapar du ett tillägg:

  • Gå till Arkiv -> Spara som.
  • I dialogrutan Spara som ändrar du Spara som typ till .xlam.
    • Du kommer att märka att sökvägen till filen där den sparas automatiskt ändras. Du kan ändra den om du vill.
  • Öppna en Excel -arbetsbok och gå till Utvecklare -> Tillägg -> Excel -tillägg.
  • I dialogrutan Tillägg bläddrar du till och hittar filen du sparade och klickar på OK.

När ett tillägg har aktiverats kan du använda det i valfri arbetsbok. För att göra det, gå till Utvecklare -> Makron. Markera makroet ExtractComment i dialogrutan Makro och kör det.

Ladda ner exempelfilen

Hoppas den här koden sparar lite tid. Låt mig veta dina tankar i kommentarsfältet.

Om du arbetar med Excel kan VBA vara en kraftfull allierad. Ta dina Excel -färdigheter till nästa nivå med Excel VBA -kursen.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave