Ако работите с работни листове на 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.