Krijg een lijst met alle opmerkingen in een werkblad in Excel

Als u werkt met Excel-werkbladen met veel celopmerkingen in een werkblad, kan deze zelfstudie handig zijn. Soms kunt u celopmerkingen invoegen om gegevens te markeren of uit te leggen, of uw baas kan opmerkingen in cellen invoegen terwijl hij uw werk nakijkt.

Als je een enorme dataset hebt en de opmerkingen zijn verspreid over het werkblad, kan het helpen om alle opmerkingen op één plek als een lijst te hebben.

Een lijst met alle opmerkingen in een werkblad krijgen

In deze tutorial laat ik je zien hoe je een VBA-code gebruikt om een ​​lijst van alle opmerkingen in een werkblad in een apart werkblad te krijgen.

Iets zoals hieronder weergegeven:

Er is een VBA-code in de backend die de volgende dingen doet:

  • Het controleert of er opmerkingen in het actieve werkblad zijn of niet. Als er geen opmerkingen zijn, buigt het stilletjes en doet niets.
  • Als er opmerkingen in het werkblad staan, wordt een nieuw werkblad ("Opmerkingen") gemaakt en wordt een lijst met alle opmerkingen in de volgende structuur geëxtraheerd:
    • Kolom A heeft het celadres met de opmerking.
    • Kolom B heeft de naam van de commentator. Dit is handig als er meerdere reviewers van hetzelfde bestand zijn. Het helpt ook om te filteren/sorteren op basis van de naam van de recensent.
    • Kolom C heeft de opmerking.

Download het voorbeeldbestand

De VBA-code

Hier is de VBA-code die hier al het zware werk doet.

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 Dan afsluiten Sub For Each ws In Worksheets If ws.Name = "Comments" Dan i = 1 Volgende ws If i = 0 Stel dan ws in = Worksheets.Add(After:=ActiveSheet) ws.Name = "Comments" Anders: Set ws = Worksheets ("Comments") End If Voor elk ExComment In CS.Comments ws. Range("A1").Value = "Commentaar in" ws.Range("B1").Value = "Commentaar door" ws.Range("C1").Value = "Commentaar" With ws.Range("A1: C1") .Font.Bold = True .Interior.Color = RGB(189, 215, 238) .Columns.ColumnWidth = 20 End With If ws.Range("A2") = "" Dan ws.Range("A2" ).Value = ExComment.Parent.Address ws.Range("B2").Value = Left(ExComment.Text, InStr(1, ExComment.Text, ":") - 1) ws.Range("C2"). Waarde = Rechts(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. Tekst, 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

Hoe deze code te gebruiken?

Er zijn een aantal manieren waarop u deze code kunt gebruiken om een ​​lijst met opmerkingen van uw werkblad te krijgen:

#1 Kopieer en plak gegevens in het voorbeeldbestand

Kopieer en plak uw gegevens (zoals ze zijn) in het tabblad Gegevens van het downloadbestand en voer vervolgens deze macro uit.

Om dit uit te voeren:

  • Ga naar het tabblad Ontwikkelaars en klik op Macro's. Het opent het dialoogvenster Macro.
  • Selecteer ExtractComment en klik op Uitvoeren. Zorg ervoor dat u zich in het blad bevindt met de opmerkingen die u wilt extraheren.

#2 Kopiëren Plak de code in uw werkmap

Kopieer de code en plak deze in de werkmap waaruit u de opmerkingen wilt extraheren.

Om dit te doen:

  • Activeer de werkmap waarin u werkt en druk op Alt + F11. Dit opent het VB Editor-venster.
  • Klik in de Projectverkenner aan de linkerkant met de rechtermuisknop op een van de objecten voor die werkmap, ga naar Invoegen -> Module.
  • Plak de code in het modulecodevenster.
  • Sluit het VB Editor-venster (of druk op Alt + F11 om terug te gaan naar het werkblad).

Nu heb je de macro in je werkmap. Ga naar het tabblad Ontwikkelaar -> Macro's om de macro uit te voeren. Selecteer in het dialoogvenster Macro de macro ExtractComment en klik op Uitvoeren.

Opmerking: zorg ervoor dat u de werkmap opslaat met .XLS of .XLSM extensie.

#3 Maak een invoegtoepassing

Als u deze code vaak moet gebruiken, kunt u er het beste een invoegtoepassing van maken. Op die manier kunt u het gemakkelijk in elke werkmap gebruiken (zonder de extra inspanning van het steeds opnieuw kopiëren en plakken van de code).

Zo maakt u een invoegtoepassing:

  • Ga naar Bestand -> Opslaan als.
  • Wijzig in het dialoogvenster Opslaan als het type Opslaan als in .xlam.
    • U zult merken dat het pad van het bestand waar het wordt opgeslagen automatisch verandert. Je kunt het veranderen als je wilt.
  • Open een Excel-werkmap en ga naar Developer -> Add-ins -> Excel Add-ins.
  • Blader in het dialoogvenster Add-ins naar het bestand dat u hebt opgeslagen, zoek het op en klik op OK.

Nadat een invoegtoepassing is geactiveerd, kunt u deze in elke werkmap gebruiken. Ga hiervoor naar Ontwikkelaar -> Macro's. Selecteer in het dialoogvenster Macro de macro ExtractComment en voer deze uit.

Download het voorbeeldbestand

Ik hoop dat deze code je wat tijd zal besparen. Laat me je mening weten in de comments.

Als u met Excel werkt, kan VBA een krachtige bondgenoot zijn. Breng uw Excel-vaardigheden naar een hoger niveau met de Excel VBA-cursus.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave