Вземете списък с всички коментари в работен лист в Excel

Ако работите с работни листове на Excel, които имат много коментари за клетки в работен лист, този урок може да бъде полезен. Понякога можете да вмъкнете коментари в клетки, за да подчертаете или обясните данни, или шефът ви може да вмъкне коментари в клетки, докато преглежда работата ви.

Ако имате огромен набор от данни и коментарите са разпръснати по целия работен лист, може да е полезно всички коментари да са на едно място като списък.

Вземете списък с всички коментари в работен лист

В този урок ще ви покажа как да използвате VBA код, за да получите списък с всички коментари в работен лист в отделен работен лист.

Нещо, както е показано по -долу:

В бекенда има VBA код, който прави следните неща:

  • Той проверява дали има коментари в активния работен лист или не. Ако няма коментари, той тихо се кланя и не прави нищо.
  • Ако има коментари в работния лист, той създава нов работен лист („Коментари“) и извлича списък с всички коментари в следната структура:
    • Колона А съдържа адреса на клетката с коментара.
    • Колона Б има името на коментатора. Това е полезно, ако има няколко рецензенти на един и същ файл. Той също така ще помогне за филтриране/сортиране въз основа на името на рецензенти.
    • Колоната В съдържа коментара.

Изтеглете примерния файл

Кодът на VBA

Ето кода на VBA, който върши цялата тежка работа тук.

Sub ExtractComments () Dim ExComment Като коментар Dim i As Integer Dim ws като работен лист Dim CS като работен лист Set CS = ActiveSheet If ActiveSheet.Comments.Count = 0 Тогава излезте от Sub за всеки ws в работни листове Ако ws.Name = "Коментари" Тогава i = 1 Следващ ws Ако i = 0 След това Задайте ws = Работни листове.Добавете (След: = ActiveSheet) ws.Name = "Коментари" Иначе: Задайте ws = Работни листове ("Коментари") Край Ако за всеки коментар в 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 ") =" "Тогава ws.Range (" A2 " ) .Value = ExComment.Parent.Address ws.Range ("B2"). Value = Left (ExComment.Text, InStr (1, ExComment.Text, ":") - 1) ws.Range ("C2"). Стойност = Вдясно (ExComment.Text, Len (ExComment.Text) - InStr (1, ExComment.Text, ":")) В противен случай 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

Как да използвате този код

Има няколко начина, по които можете да използвате този код, за да получите списък с коментари от работния си лист:

#1 Копирайте поставяне на данни в примерния файл

Копирайте поставете вашите данни (както е) в раздела Данни на файла за изтегляне и след това стартирайте този макрос.

За да стартирате това:

  • Отидете в раздела Разработчик и щракнете върху Макроси. Той ще отвори диалоговия прозорец Макро.
  • Изберете ExtractComment и щракнете върху Run. Уверете се, че сте в листа с коментарите, които искате да извлечете.

#2 Копирайте Поставете кода във вашата работна книга

Копирайте кода и го поставете в работната книга, от която искате да извлечете коментарите.

Да го направя:

  • Активирайте работната книга, в която работите, и натиснете Alt + F11. Това ще отвори прозореца на VB Editor.
  • В Project Explorer вляво, щракнете с десния бутон върху някой от обектите за тази работна книга, отидете на Insert -> Module.
  • Поставете кода в прозореца Код на модула.
  • Затворете прозореца на VB Editor (или натиснете Alt + F11, за да се върнете към работния лист).

Сега имате макроса във вашата работна книга. За да стартирате макроса, отидете на Раздел за програмисти -> Макроси. В диалоговия прозорец Макрос изберете макроса ExtractComment и щракнете върху Изпълни.

Забележка: Уверете се, че сте запазили работната книга с.XLS или .XLSM разширение.

#3 Създайте добавка

Ако трябва да използвате този код често, най-добре е да създадете добавка от него. По този начин можете лесно да го използвате във всяка работна книга (без допълнителни усилия за копиране на поставяне на кода отново и отново).

Ето как да създадете добавка:

  • Отидете на File -> Save As.
  • В диалоговия прозорец Запазване като променете типа Запиши като на .xlam.
    • Ще забележите, че пътят на файла, където се записва, се променя автоматично. Можете да го промените, ако искате.
  • Отворете работна книга на Excel и отидете на Developer -> Add -ins -> Excel Add -ins.
  • В диалоговия прозорец Добавки прегледайте и намерете записания от вас файл и щракнете върху OK.

След като добавката е активирана, можете да я използвате във всяка работна книга. За да направите това, отидете на Developer -> Macros. В диалоговия прозорец Макрос изберете макроса ExtractComment и го стартирайте.

Изтеглете примерния файл

Надявам се този код да ви спести време. Кажете ми вашите мисли в секцията за коментари.

Ако работите с Excel, VBA може да бъде мощен съюзник. Вземете своите Excel умения на следващото ниво с курса на Excel VBA.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave