Uzyskaj listę wszystkich komentarzy w arkuszu kalkulacyjnym w programie Excel

Jeśli pracujesz z arkuszami programu Excel, które zawierają wiele komentarzy do komórek w arkuszu, ten samouczek może być przydatny. Czasami możesz wstawić komentarze do komórek, aby wyróżnić lub wyjaśnić dane, lub Twój szef może wstawić komentarze do komórek podczas przeglądania Twojej pracy.

Jeśli masz ogromny zestaw danych, a komentarze są rozproszone po całym arkuszu, pomocne może być umieszczenie wszystkich komentarzy w jednym miejscu w postaci listy.

Uzyskaj listę wszystkich komentarzy w arkuszu

W tym samouczku pokażę, jak używać kodu VBA, aby uzyskać listę wszystkich komentarzy z arkusza roboczego w osobnym arkuszu.

Coś, jak pokazano poniżej:

W backendzie znajduje się kod VBA, który wykonuje następujące czynności:

  • Sprawdza, czy w aktywnym arkuszu znajdują się komentarze, czy nie. Jeśli nie ma komentarzy, po cichu się kłania i nic nie robi.
  • Jeśli w arkuszu znajdują się komentarze, tworzy nowy arkusz („Komentarze”) i wyodrębnia listę wszystkich komentarzy w następującej strukturze:
    • Kolumna A zawiera adres komórki z komentarzem.
    • Kolumna B ma nazwę komentatora. Jest to przydatne, jeśli jest wielu recenzentów tego samego pliku. Pomoże to również filtrować/sortować na podstawie nazwisk recenzentów.
    • Kolumna C zawiera komentarz.

Pobierz przykładowy plik

Kod VBA

Oto kod VBA, który wykonuje tutaj całe ciężkie podnoszenie.

Sub ExtractComments() Dim ExComment As Comment Dim i As Integer Dim ws As Worksheet Dim CS As Worksheet Ustaw CS = ActiveSheet If ActiveSheet.Comments.Count = 0 Następnie wyjdź Sub For Each 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 For Each ExComment In CS.Comments ws. Range("A1").Value = "Skomentuj w" ws.Range("B1").Value = "Skomentuj" ws.Range("C1").Value = "Skomentuj" 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"). Wartość = 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

Jak korzystać z tego kodu?

Istnieje kilka sposobów wykorzystania tego kodu w celu uzyskania listy komentarzy z arkusza roboczego:

#1 Skopiuj wklej dane do przykładowego pliku

Skopiuj wklej swoje dane (tak jak jest) na karcie Dane pliku do pobrania, a następnie uruchom to makro.

Aby to uruchomić:

  • Przejdź do zakładki Deweloper i kliknij Makra. Otworzy się okno dialogowe Makro.
  • Wybierz ExtractComment i kliknij Uruchom. Upewnij się, że jesteś w arkuszu zawierającym komentarze, które chcesz wyodrębnić.

#2 Skopiuj Wklej kod do swojego skoroszytu

Skopiuj kod i wklej go w skoroszycie, z którego chcesz wyodrębnić komentarze.

Aby to zrobić:

  • Aktywuj skoroszyt, w którym pracujesz, i naciśnij Alt + F11. Spowoduje to otwarcie okna Edytora VB.
  • W Eksploratorze projektów po lewej stronie kliknij prawym przyciskiem myszy dowolny obiekt tego skoroszytu, przejdź do Wstaw -> Moduł.
  • Wklej kod w oknie Kod modułu.
  • Zamknij okno edytora VB (lub naciśnij Alt + F11, aby wrócić do arkusza roboczego).

Teraz masz makro w swoim skoroszycie. Aby uruchomić makro, przejdź do zakładki Deweloper -> Makra. W oknie dialogowym Macro wybierz makro ExtractComment i kliknij Uruchom.

Uwaga: Upewnij się, że zapisałeś skoroszyt z .Rozszerzenie XLS lub .XLSM.

#3 Utwórz dodatek

Jeśli musisz często używać tego kodu, najlepiej utworzyć z niego dodatek. W ten sposób możesz z łatwością użyć go w dowolnym skoroszycie (bez dodatkowego wysiłku kopiowania i wklejania kodu raz za razem).

Oto jak utworzyć dodatek:

  • Przejdź do Plik -> Zapisz jako.
  • W oknie dialogowym Zapisz jako zmień Zapisz jako typ na .xlam.
    • Zauważysz, że ścieżka pliku, w którym został zapisany, zmienia się automatycznie. Możesz to zmienić, jeśli chcesz.
  • Otwórz skoroszyt programu Excel i przejdź do Deweloper -> Dodatki -> Dodatki programu Excel.
  • W oknie dialogowym Dodatki przejrzyj i zlokalizuj zapisany plik, a następnie kliknij przycisk OK.

Po aktywowaniu dodatku możesz go używać w dowolnym skoroszycie. W tym celu przejdź do Deweloper -> Makra. W oknie dialogowym Makro wybierz makro ExtractComment i uruchom je.

Pobierz przykładowy plik

Mam nadzieję, że ten kod pozwoli Ci zaoszczędzić trochę czasu. Daj mi znać swoje przemyślenia w sekcji komentarzy.

Jeśli pracujesz z Excelem, VBA może być potężnym sojusznikiem. Przenieś swoje umiejętności Excela na wyższy poziom dzięki kursowi Excel VBA.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave