Отримайте список усіх коментарів на робочому аркуші в Excel

Якщо ви працюєте з робочими листами Excel, у яких на робочому аркуші багато коментарів до комірок, цей підручник може бути корисним. Іноді ви можете вставляти коментарі до клітинок, щоб виділити або пояснити дані, або ваш начальник може вставити коментарі в клітинки під час огляду вашої роботи.

Якщо у вас є величезний набір даних і коментарі розкидані по всьому аркушу, це може допомогти розмістити всі коментарі в одному місці як список.

Отримайте список усіх коментарів на робочому аркуші

У цьому підручнику я покажу вам, як за допомогою коду VBA отримати список усіх коментарів на робочому аркуші в окремому робочому аркуші.

Щось, як показано нижче:

У бекенді є код VBA, який виконує такі дії:

  • Він перевіряє, чи є коментарі в активному аркуші чи ні. Якщо немає коментарів, він тихо кланяється і нічого не робить.
  • Якщо на робочому аркуші є коментарі, він створює новий робочий аркуш (“Коментарі”) та витягує список усіх коментарів у такій структурі:
    • У стовпці А є адреса комірки з коментарем.
    • Стовпець В має назву коментатора. Це стане в нагоді, якщо є кілька рецензентів одного файлу. Це також допоможе фільтрувати/сортувати на основі імені рецензентів.
    • У колонці С є коментар.

Завантажте файл прикладу

Код VBA

Ось код VBA, який виконує всю важку роботу тут.

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 Тоді вийти з Sub для кожного ws у робочих аркушах Якщо ws.Name = "Коментарі" Тоді я = 1 Наступний ws Якщо i = 0 Тоді Встановити ws = Робочі листи.Додати (Після: = ActiveSheet) ws.Name = "Коментарі" Інше: Встановити ws = Робочі листи ("Коментарі") Закінчити, якщо для кожного коментаря у CS.Comments ws. Діапазон ("A1"). Значення = "Коментар в" ws.Range ("B1"). Значення = "Коментар від" ws.Range ("C1"). Значення = "Коментар" з ws.Range ("A1: C1 ") .Font.Bold = True .Interior.Color = RGB (189, 215, 238) .Columns.ColumnWidth = 20 Закінчити на 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"). Кінець (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 Якщо наступний ExComment End Sub

Як користуватися цим кодом

Існує кілька способів використання цього коду для отримання списку коментарів зі свого робочого аркуша:

#1 Скопіюйте вставку даних у файл прикладу

Скопіюйте та вставте свої дані (як є) на вкладку Дані файлу завантаження, а потім запустіть цей макрос.

Щоб запустити це:

  • Перейдіть на вкладку Розробник і натисніть Макроси. Відкриється діалогове вікно «Макрос».
  • Виберіть ExtractComment і натисніть Виконати. Переконайтеся, що ви знаходитесь на аркуші з коментарями, які ви хочете витягти.

#2 Скопіюйте Вставте код у свою книгу

Скопіюйте код і вставте його в книгу, з якої потрібно витягти коментарі.

Зробити це:

  • Активуйте книгу, у якій ви працюєте, і натисніть Alt + F11. Відкриється вікно редактора VB.
  • У Провіднику проектів ліворуч клацніть правою кнопкою миші будь -який об’єкт цієї книги, перейдіть до пункту Вставка -> Модуль.
  • Вставте код у вікно коду модуля.
  • Закрийте вікно редактора VB (або натисніть Alt + F11, щоб повернутися до робочого аркуша).

Тепер у вашій книзі є макрос. Щоб запустити макрос, перейдіть на вкладку Розробник -> Макроси. У діалоговому вікні Макрос виберіть макрос ExtractComment і натисніть Виконати.

Примітка: Обов’язково збережіть книгу з.Розширення XLS або .XLSM.

#3 Створіть надбудову

Якщо вам потрібно часто використовувати цей код, найкраще створити надбудову з нього. Таким чином, ви можете легко використовувати його в будь -якій книзі (без додаткових зусиль копіювання вставляти код знову і знову).

Ось як створити надбудову:

  • Перейдіть до Файл -> Зберегти як.
  • У діалоговому вікні Зберегти як змініть тип Зберегти як на .xlam.
    • Ви помітите, що шлях до файлу, де він зберігається, автоматично змінюється. Ви можете змінити його, якщо хочете.
  • Відкрийте книгу Excel і перейдіть до Розробник -> Надбудови -> Надбудови Excel.
  • У діалоговому вікні Надбудови перегляньте та знайдіть збережений файл, а потім натисніть OK.

Після активації надбудови її можна використовувати у будь-якій книзі. Для цього перейдіть до Розробник -> Макроси. У діалоговому вікні Макрос виберіть макрос ExtractComment і запустіть його.

Завантажте файл прикладу

Сподіваюся, цей код заощадить вам час. Дайте мені знати ваші думки в розділі коментарів.

Якщо ви працюєте з Excel, VBA може стати потужним союзником. Підніміть свої навички Excel на новий рівень за допомогою курсу Excel VBA.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave