Obțineți o listă cu toate comentariile dintr-o foaie de lucru în Excel

Dacă lucrați cu foi de lucru Excel care au o mulțime de comentarii de celule într-o foaie de lucru, acest tutorial ar putea fi util. Uneori puteți insera comentarii de celule pentru a evidenția sau explica datele sau șeful dvs. poate insera comentarii în celule în timp ce vă examinează munca.

Dacă aveți un set de date imens și comentariile sunt împrăștiate pe toată foaia de lucru, ar putea fi util să aveți toate comentariile într-un singur loc ca listă.

Obțineți o listă cu toate comentariile dintr-o foaie de lucru

În acest tutorial, vă voi arăta cum să utilizați un cod VBA pentru a obține o listă cu toate comentariile dintr-o foaie de lucru într-o foaie de lucru separată.

Ceva așa cum se arată mai jos:

Există un cod VBA în backend care face următoarele lucruri:

  • Se verifică dacă există sau nu comentarii în foaia de lucru activă sau nu. Dacă nu există comentarii, se înclină în liniște și nu face nimic.
  • Dacă există comentarii în foaia de lucru, aceasta creează o foaie de lucru nouă („Comentarii”) și extrage o listă cu toate comentariile din următoarea structură:
    • Coloana A are adresa celulei care are comentariul.
    • Coloana B are numele comentatorului. Acest lucru este util dacă există mai mulți recenzori ai aceluiași fișier. De asemenea, vă va ajuta să filtrați / să sortați pe baza recenzorilor.
    • Coloana C are comentariul.

Descărcați fișierul de exemplu

Codul VBA

Iată codul VBA care face toate greutățile aici.

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 Următorul ws Dacă i = 0 Apoi Set ws = Worksheets.Add (After: = ActiveSheet) ws.Name = "Comments" Altfel: Set ws = Worksheets ("Comments") End If For Each ExComment In CS.Comments ws. Gama ("A1"). Valoare = "Comentariu în" ws.Range ("B1"). Valoare = "Comentariu de" ws.Range ("C1"). Valoare = "Comentariu" Cu ws.Range ("A1: C1 ") .Font.Bold = Adevărat .Interior.Color = RGB (189, 215, 238) .Columns.ColumnWidth = 20 Termină cu If ws.Range (" A2 ") =" "Atunci 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, ":")) Altfel 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 Dacă următorul ExComment End Sub

Cum se folosește acest cod

Există câteva moduri în care puteți utiliza acest cod pentru a obține o listă de comentarii din foaia dvs. de lucru:

# 1 Copiați lipirea datelor în fișierul de exemplu

Copiați lipiți datele (așa cum este) în fila Date din fișierul de descărcare și apoi rulați această macrocomandă.

Pentru a rula acest lucru:

  • Accesați fila Dezvoltator și faceți clic pe Macrocomenzi. Se va deschide caseta de dialog Macro.
  • Selectați ExtractComment și faceți clic pe Executare. Asigurați-vă că vă aflați în foaia care conține comentariile pe care doriți să le extrageți.

# 2 Copiați Lipiți codul în registrul dvs. de lucru

Copiați codul și lipiți-l în registrul de lucru din care doriți să extrageți comentariile.

Pentru a face acest lucru:

  • Activați registrul de lucru în care lucrați și apăsați Alt + F11. Aceasta va deschide fereastra VB Editor.
  • În Project Explorer din stânga, faceți clic dreapta pe oricare dintre obiectele pentru registrul de lucru respectiv, accesați Insert -> Module.
  • Lipiți codul în fereastra Codului modulului.
  • Închideți fereastra VB Editor (sau apăsați Alt + F11 pentru a reveni la foaia de lucru).

Acum aveți macro-ul în registrul de lucru. Pentru a rula macro-ul, accesați fila Developer -> Macros. În caseta de dialog Macro, selectați macrocomanda ExtractComment și faceți clic în Executare.

Notă: Asigurați-vă că salvați registrul de lucru cu .Extensie XLS sau .XLSM.

# 3 Creați un program de completare

Dacă trebuie să utilizați acest cod des, este mai bine să creați un supliment din acesta. În acest fel îl puteți utiliza cu ușurință în orice registru de lucru (fără efortul suplimentar de a copia lipirea codului din nou și din nou).

Iată cum puteți crea un supliment:

  • Accesați Fișier -> Salvare ca.
  • În caseta de dialog Salvare ca, schimbați tipul Salvare ca la .xlam.
    • Veți observa că calea fișierului în care este salvat se schimbă automat. O puteți schimba dacă doriți.
  • Deschideți un registru de lucru Excel și accesați Developer -> Suplimente -> Suplimente Excel.
  • În caseta de dialog Add-ins, răsfoiți și localizați fișierul salvat și faceți clic pe OK.

După activarea unui supliment, îl puteți folosi în orice registru de lucru. Pentru aceasta, accesați Developer -> Macros. În caseta de dialog Macro, selectați macrocomanda ExtractComment și rulați-o.

Descărcați fișierul de exemplu

Sper că acest cod vă va economisi ceva timp. Spuneți-mi părerile dvs. în secțiunea de comentarii.

Dacă lucrați cu Excel, VBA ar putea fi un aliat puternic. Luați-vă abilitățile Excel la nivelul următor cu cursul Excel VBA.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave