Как извлечь текст примечания в ячейку excel

Здраствуйте. Сегодня мы изучим возможность извлечения текста из примечания в ячейку Excel. Может случиться ситуация, когда Вам предоставили файл, где нужные сведения содержатся не в самих ячейках, а в примечаниях к ним. К примеру, Ваш руководитель оставил свои комментарии по прогнозу объема продаж в виде примечаний и Вам нужно сделать сравнение между тем прогнозом, что сделали Вы и Ваш руководитель. Можно конечно руками перебить все значения из примечаний в ячейки, но если таких случаев много – тогда наша инструкция придет на помощь.

Как извлечь текст примечания в ячейку Excel

К сожалению, встроенной формулы в Экселе на этот случай нет, но нам поможет Visual Basic for Application. В пошаговой инструкции я расскажу Вам, как создать пользовательскую функцию и как ее использовать. Итак, пункт первый:

1.Создание пользовательской функции

Ее создание, аналогично созданию макроса в VBA, поэтому проделайте многим знакомые операции:

  • Нажмите Alt+F11. Должен открыться редактор Microsoft Visual Basic for Application
  • Создайте новый модель. Для этого зайдите в меню Insert и выберите пункт Module.
  • В открывшийся модель вставьте код пользовательской функции:

Function Get_Text_from_Comment(rCell As Range) As String
    Dim sTxt As String
    Application.Volatile True
    On Error Resume Next
    sTxt = rCell.Comment.Text
    Get_Text_from_Comment = Mid(sTxt, InStr(sTxt, «:») + 2)
End Function

Как извлечь текст примечания в ячейку Excel


2.Использование пользовательской функции

  • Перейдите назад в книгу Excel.
  • Выделите любую свободную ячейку и вызовите мастер вставки функции
  • Перейдите в категорию «Определенные пользователем», выберите функцию Get_Text_from_Comment и нажмите Ок.
  • Далее укажите ту ячейку, которая содержит комментарий и нажмите Ок.

Как извлечь текст примечания в ячейку Excel

Как извлечь текст примечания в ячейку Excel

Как извлечь текст примечания в ячейку Excel

Готово. Мы получили текст из примечания в ячейку.

Важное замечание: Если Вы изменили текст примечания, то нажмите после этого F9, для того что бы обновилось содержание ячейки в соответствии с корректировкой примечания.

Не забывайте оставлять Ваши комментарии. Они очень важны для нас.

Хитрости »

24 Май 2011              46279 просмотров


Как получить текст примечания в ячейку?

Есть таблица по платежам. В ячейках определенных столбцов в примечаниях(вкладка РецензированиеСоздать примечание) записывается дополнительная информация по платежу. Например, номер договора, на основании которого был произведен платеж. И теперь необходимо отобрать записи только по определенным договорам. Ячеек несколько сотен, просматривать и выписывать договора из комментариев вручную похоже на одну из разновидностей древнеримских пыток. Однако при помощи VBA сделать это совсем просто.

Создадим простую функцию пользователя:

Function Get_Text_from_Comment(rCell As Range)
    On Error Resume Next
    Get_Text_from_Comment = rCell.Comment.Text
End Function

Синтаксис вызова функции с листа Excel:
=Get_Text_from_Comment(A1)
A1 — ячейка с примечанием, текст которого необходимо получить. Если комментарий в ячейке отсутствует, то функция вернет пусто.
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: необходимо скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций, отыскав её в категории Определенные пользователем (User Defined Functions).


Текст из примечания без автора примечания
Слегка доработанная функция, в которой можно отсечь имя пользователя, создавшего комментарий:

Function Get_Text_from_Comment(rCell As Range) As String
    Dim sTxt As String
    On Error Resume Next
    sTxt = rCell.Comment.Text
    Get_Text_from_Comment = Mid(sTxt, InStr(sTxt, ":") + 2)
End Function

Синтаксис вызова с листа Excel такой же, как и в функции выше. Просто указываете внутри функции ссылку на ячейку.
=Get_Text_from_Comment(A1)


Код записи текста примечаний в выделенных ячейках

Если текст из примечаний необходимо записать в те же ячейки одним махом и удалить после этого все примечания, можно использовать следующий код:

'---------------------------------------------------------------------------------------
' Author : The_Prist(Щербаков Дмитрий)
'          Профессиональная разработка приложений для MS Office любой сложности
'          Проведение тренингов по MS Excel
'          http://www.excel-vba.ru
' Purpose: Процедура записи текста из примечаний в ячейки выделенного диапазона
'---------------------------------------------------------------------------------------
Sub CommentsToCell()
    Dim sTxt As String, res As String, rc As Range, rr As Range
    Dim IsDelAuthor As Boolean, IsDelComment As Boolean, IsReplaceCellVal As Boolean
    'запрашиваем параметры
    If MsgBox("Оставлять автора комментария?", vbQuestion + vbYesNo, "www.excel-vba.ru") = vbNo Then
        IsDelAuthor = True
    End If
    If MsgBox("Заменять значение, если в ячейке с комментариями уже есть текст?" & vbNewLine & _
              "ДА(Yes) - значения ячеек будут заменены текстом комментариев" & vbNewLine & _
              "НЕТ(No) - к имеющимся значениям будет добавлен текст комментария", vbQuestion + vbYesNo, "www.excel-vba.ru") = vbYes Then
        IsReplaceCellVal = True
    End If
    If MsgBox("Удалять комментарии после обработки?", vbQuestion + vbYesNo, "www.excel-vba.ru") = vbYes Then
        IsDelComment = True
    End If
    On Error Resume Next
    'получаем в выделенном диапазоне только ячейки с комментариями
    Set rr = Selection.SpecialCells(xlCellTypeComments)
    If rr Is Nothing Then
        MsgBox "В выделенном диапазоне нет ячеек с комментариями", vbCritical, "www.excel-vba.ru"
        Exit Sub
    End If
    On Error GoTo 0
    Application.ScreenUpdating = False
    'цикл по всем ячейкам с комментариями
    For Each rc In rr.Cells
        sTxt = rc.Comment.Text
        If IsDelAuthor Then
            res = Mid(sTxt, InStr(sTxt, ":") + 2)
        Else
            res = sTxt
        End If
        If IsReplaceCellVal Then
            rc.Value = res
        Else
            rc.Value = rc.Value & Chr(10) & res
        End If
    Next
    If IsDelComment Then
        rr.ClearComments
    End If
    Application.ScreenUpdating = True
    MsgBox "Комментарии записаны", vbCritical, "www.excel-vba.ru"
End Sub

Код необходимо так же скопировать и вставить в стандартный модуль(Переходим в редактор VBA(Alt+F11) —InsertModule).
Выделить диапазон ячеек, комментарии из которых необходимо перенести, нажать Alt+F8 и выбрать код CommentsToCell. Код содержит несколько параметров:

  • Сначала необходимо будет выбрать оставить ли автора комментария при считывании текста из комментария. Если выбрать да — весь текст примечания будет перенесен как есть. Если выбрать Нет — то из комментария будет отсечена первая строка до символа двоеточия(:). Именно так по умолчанию Excel обозначает автора.
    Этот параметр нужен, если в ячейках нет автора.
  • Далее будет запрос: оставить значение в ячейках и дописать к ним текст примечания или заменить существующие значения в ячейке на текст комментария. Может пригодиться, если в ячейках записаны суммы платежей и надо добавить к ним из комментария номер договора, не убирая сами суммы.
  • И последний запрос будет: удалять комментарии из ячеек после записи текста из них в ячейки или оставить. Если выбрать да — то после обработки всех выделенных ячеек комментарии будут удалены. Это может пригодиться, если комментариев много. Их удаление может существенно облегчить файл.

Также см.:
Что такое функция пользователя(UDF)?
Как скопировать картинку из примечания?
Создание примечаний


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

 

Добрый день всем!
Скажу сразу — я с Excel-ем на Вы…
И мне нужна помощь. Мне поставили невыполнимую для меня задачу: из таблицы, в которой есть данные и к ним привязано много примечаний, «вытащить» эти примечания в отдельную таблицу или лист Excel. Примечаний около 1500 штук…В ручную сделать это можно, но времени займет неделю без сна, если не больше. Проблема еще состоит в том, что это 2 таблицы: одна находится на компьютере, а другая в «облаке» Google docs.
Может есть какая-то возможность упростить и автоматизировать данный процесс?
Заранее спасибо за помощь!

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Можно макросом вытащить примечания в эту-же или другую таблицу Excel. Ну а дальше этот Excel файл добавить в облако

Согласие есть продукт при полном непротивлении сторон.

 

Пытливый

Пользователь

Сообщений: 4587
Регистрация: 22.12.2012

Добрый. В файле Excel в принципе это можно сделать макросом. Опять же — надо вытащить примечания, чтобы они превратились в содержание ячеек, или чтобы так и остались примечаниями?
Видите, как хорошо бы сразу было иметь файл пример с кратким пояснением вот как есть — вот как надо?

За ГуглДок не скажу, не работаю с ними.
Как-то так.

Кому решение нужно — тот пример и рисует.

 

Что значит «макросом»? Я действительно с Excel на вы… для меня это не понятно. Я пытаюсь разобраться и прошу о помощи. Я читала про какие-то стандартные модули, но картинки в голове не сложилось. Помогите более детально предоставить мне решение данного вопроса

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Приложите файл-пример (НЕ 1500 строк!)

Согласие есть продукт при полном непротивлении сторон.

 

HelenMiskova

Пользователь

Сообщений: 11
Регистрация: 18.05.2016

#6

18.05.2016 15:21:18

Цитата
Пытливый написал:
Опять же — надо вытащить примечания, чтобы они превратились в содержание ячеек, или чтобы так и остались примечаниями?

Надо чтобы примечания превратились в таблицу, т.е. стали содержанием ячеек.
Файл показать не могу, ибо там содержится конфиденциальная информация… Мне надо просто, чтобы все примечания были в столбик. Ну это если по-простому…

 

HelenMiskova

Пользователь

Сообщений: 11
Регистрация: 18.05.2016

#7

18.05.2016 15:23:44

Sanja,

Цитата
HelenMiskova написал:
Файл показать не могу, ибо там содержится конфиденциальная информация…
 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#8

18.05.2016 15:36:43

Цитата
HelenMiskova написал: Ну это если по-простому..

Вам «по-простому» уже ответили — нужен макрос. Макросы, обычно, пишутся для конкретной таблицы. Создайте файл-ПРИМЕР (гранаты замените апельсинами, ФИО министров/президентов на Ивановых)

Согласие есть продукт при полном непротивлении сторон.

 
 

Sanja, Файл прикрепила, постаралась точно передать то, что у меня есть.
У меня там много листов в таблице.
И главный для меня вопрос — этот макрос я смогу применить для файла такого же вида, который лежит в Google Docs?

 

Прикрепленные файлы

  • Пример.xlsx (34.24 КБ)
 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#12

18.05.2016 16:25:03

Цитата
HelenMiskova написал: Может есть какая-то возможность

Давненько это было, однако, но мо быть — Старая Планета;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#13

18.05.2016 16:59:03

Цитата
HelenMiskova написал: Мне поставили невыполнимую для меня задачу

OFF Так, быть может, сразу и сделать заказ на ее выполнение — есть на форуме раздел «Работа»?! Фрилансеры и качество гарантируют, и «секретность», и сроки… ;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Z,спасибо за такое предложение, но нет, меня не устраивает такой вариант, к сожалению

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#15

18.05.2016 17:09:22

Цитата
HelenMiskova написал: не устраивает такой вариант

Какой: #12 или #13?

Цитата
HelenMiskova написал: ручную сделать это можно, но времени займет неделю без сна, если не больше

А спецу для вас «за так» тратить свое рабочее/свободное время — это норма в вашем понимании?!. ;)
ps А, мо быть, вообще к едрене фене такую работу — каждый раз искать «спонсора-исполнителя»…

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Z, мне кажется форумы и созданы для того, чтобы помогать бесплатно, то есть даром))
Я же не прошу мне архитекторский дизайн-макет дома нарисовать)) Я прошу подсказать, как это можно сделать. Excel умная программа и мне нужен человек, который направит меня в нужное русло.
И тем более я для начала спрашивала возможно ли это вообще ибо я не в курсе. Постарайтесь с пониманием относится к таким людям как я.  

Изменено: HelenMiskova18.05.2016 17:21:06

 

Без макроса не получится. Только если ручками.

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#18

18.05.2016 17:26:22

Цитата
HelenMiskova написал: созданы для того, чтобы помогать бесплатно, то есть даром))

Помогать тому, кто сам делает, но у него что-то (малое) не получается и делать за того, кому задача не по силам, все от А до Я — о-о-о-чень большая разница!
Согласны?!
ps Вы по ссылке в посте #12 с материалами ознакомились? Подходят аль нет — мнение созрело?!

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Z, Разница конечно имеется, я согласна. Но я не знаю на сколько это трудоемко. Точнее понятия не имею. Если это от А до Я выглядит просто: вам нужно кликнуть туда, потом туда-то, подставить вот это и все получится — не понимаю за что тут платить деньги. А если это занимает какое-то рабочее/свободное/личное время, где надо думать и работать, то конечно такая работа должна оплачиваться. Я же с вами не спорю, я просто пытаюсь понять.
Подходит она мне или нет я сказать не могу, ибо даже не имею представления куда это нужно вставить.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#20

18.05.2016 17:44:54

Доброе время суток

Цитата
HelenMiskova написал:
выглядит просто: вам нужно кликнуть туда, потом туда-то, подставить вот это и все получится

Увы, вам уже написали, что для вашей задачи нужен макрос. Нажми туда-сюда — вы об этом знаете — делать, как вы написали неделю.
Так что просто подождите, может быть Sanja, или кто-то другой возьмётся и напишет требуемый макрос.

 
 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#22

18.05.2016 17:50:14

Цитата
HelenMiskova написал: не имею представления куда это нужно вставить.

Вы, к сожалению, даже в своем «примере» не смогли определить/показать куда, в какой последовательности следует помещать изъятые примечания, к чему их «привязывать» для последующего анализа.
Одним словом — думайте, готовьте толковое детальное техзадание, оно понадобится в любом случае — и для заказа, и без оного.
ps 20 пустых постов — это очень расточительно для любого планетянина (поэтому их так мало в вашей теме — и это при >150 ее просмотрах).  

Изменено: Z18.05.2016 17:55:56

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

#23

18.05.2016 17:55:10

Цитата
HelenMiskova написал: ибо даже не имею представления куда это нужно вставить.

смотреть в приёмах

Создание макросов…  

Изменено: JeyCi18.05.2016 17:56:11

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

#24

18.05.2016 18:39:05

Немного помогу… Вставьте код в стандартный модуль и раскоментируйте строку (уберите апостроф) — какое действие макроса вам нужно (заменить данные в ячейке или добавить к уже имеющимся):

Код
Sub Comment_Text()
On Error Resume Next
For Each R In ActiveSheet.UsedRange
    'R.Value = R.Value & R.Comment.Text  'добавляет примечания к данным ячейки
    'R.Value = R.Comment.Text  'меняет данные ячейки на текст примечания
Next
Cells.ClearComments
End Sub

«Бритва Оккама» или «Принцип Калашникова»?

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#25

18.05.2016 18:42:37

Цитата
bedvit написал: Немного помогу…

Однако

Цитата
HelenMiskova написал:
из таблицы, в которой есть данные и к ним привязано много примечаний, «вытащить» эти примечания в отдельную таблицу или лист Excel

См. —

Прикрепленные файлы

  • Image 095.png (16.36 КБ)

Изменено: Z18.05.2016 18:44:01

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

Z, поэтому и немного :)

«Бритва Оккама» или «Принцип Калашникова»?

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

#27

18.05.2016 18:52:51

На отдельный лист :)

Код
Sub Comment_Text2() 'текст примечаний на отдельный лист
Dim R As Range, UR As Range
Set UR = ActiveSheet.UsedRange
Sheets.Add: On Error Resume Next
For Each R In UR
    ActiveSheet.Range(R.Address).Value = R.Comment.Text
Next
End Sub

«Бритва Оккама» или «Принцип Калашникова»?

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

#28

18.05.2016 19:13:27

Вариант3: примечания на отдельный лист, в 1-й столбец «отдельная таблица или лист». Не знаю для чего нужны коментарии отдельно от данных, да ещё и в столбец/таблицу, но раз ТС просит — то вот:

Код
Sub Comment_Text3() 'текст примечаний на отдельный лист в 1-й столбец
Dim R As Range, UR As Range, x As Long
Set UR = ActiveSheet.UsedRange
Sheets.Add: On Error Resume Next
For Each R In UR
    If Not R.Comment Is Nothing Then x = x + 1: ActiveSheet.Cells(x, 1).Value = R.Comment.Text
Next
End Sub

«Бритва Оккама» или «Принцип Калашникова»?

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#29

18.05.2016 20:14:55

Ну вот и мои 5 копеек

Код
Sub CommInCell()
Dim Sh As Worksheet
Dim Cm As Comment
Application.ScreenUpdating = False
I = 1
    For Each Sh In Worksheets
        For Each Cm In Sh.Comments
            With Worksheets("Лист3")
                .Range("A" & I) = "Лист: " & Sh.Name
                .Range("B" & I) = "Ячейка: " & Cm.Parent.Address
                .Range("C" & I) = Cm.Text
                I = I + 1
            End With
        Next
    Next
Application.ScreenUpdating = True
End Sub

Прикрепленные файлы

  • Из примечаний в ячейки.xlsm (43.22 КБ)

Согласие есть продукт при полном непротивлении сторон.

В некоторых случаях нам нужно извлечь содержимое комментариев из ячеек в ячейки для лучшего просмотра или анализа, как показано ниже. Но в Excel нет встроенной функции, которая могла бы помочь с этим. Однако здесь у меня есть несколько уловок, которые помогут вам быстро и легко решить эту проблему.
документ извлечь содержимое комментария 1

Извлечь содержимое комментария с помощью определенной функции

Перечислите все содержимое комментариев активного листа или книги с помощью Kutools for Excelхорошая идея3


Извлечь содержимое комментария с помощью определенной функции

В Excel нет формулы, которая может извлекать содержимое комментария, кроме Определенной функции.

1. Нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, скопируйте и вставьте код в пустой новый модуль.

Код: Извлечь комментарий

 Function getComment(xCell As Range) As String
'UpdatebyExtendoffice20180330
On Error Resume Next
getComment = xCell.Comment.Text
End Function

doc extract comment contents 2

3. Save the code and go back to the sheet you want to extract comment contents, type =getComment(B2) in a cell which will place the comment content at, and press Enter key. Then you can see the comment has been displayed in the cell. You can drag fill handle down to extract comments as you need.

doc extract comment contents 3 doc arrow right doc extract comment contents 4

List all comment contents of active sheet or workbook with Kutools for Excel

If you want to list all comment contents of the active sheet or current workbook, the Defined Function is not convenience. But Kutools for Excel’s Create Comment List function can quickly and easily handle this job.

Kutools for Excel, with more than 300 handy functions, makes your jobs more easier. 

After free installing Kutools for Excel, please do as below:

1. click Kutools > More (in the Editing group) > Create Comment List. See screenshot:
doc extract comment contents 5

2. In the Create Comment List dialog, select the scope you want to list the comment, Active sheet or All sheets, then choose to place the comments in a new workbook or a new sheet of current workbook.
doc extract comment contents 6

3. click Create. Now all comments have been listed one by one in a sheet.
doc extract comment contents 7


The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails…
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns… Prevent Duplicate Cells; Compare Ranges
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select…
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more…
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic…
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF
  • More than 300 powerful features. Supports Office / Excel 2007-2021 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.

kte tab 201905

Read More… Free Download… Purchase… 


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!

officetab bottom

Read More… Free Download… Purchase… 

Comments (17)


No ratings yet. Be the first to rate!

На днях работал с большим файлом, где помимо прочего было множество примечаний. Владельцы файла помнили почти всю информацию, поэтому легко могли найти данные в этом файле, в том числе и в примечаниях. Но я, как человек не знающий файл так хорошо, затруднялся сделать поиск по примечаниям в этом excel файле. В итоге я вспомнил возможность инструмента найти заменить. А так же предложил перевести все примечания в ячейки — т.к. с ними значительно проще работать. Как это сделать читаем далее.

Примечания — довольно интересная возможность табличного редактора. Очень подробно о них вы можете прочитать здесь, в том числе как печатать примечания, добавить картинку и так далее.

Содержание

  • Как сделать поиск по примечаниям в Excel?
  • Как скопировать примечание в ячейку?
  • Похожие статьи

Как сделать поиск по примечаниям в Excel?

Вызываете окно Найти и заменить (ctrl + f), нажимаете кнопку Параметры

Поиск по примечаниям

В открывшемся поле Область поиска выбираете Примечания, как показано на картинке в заголовке страницы.

Жмете Найти далее или Найти Все — находим нужную информацию.

Вот в принципе и все.

Но! Примечания — это средство рецензирования, а не хранения информации. Поэтому если примечаний много, то их лучше хранить в отдельных ячейках. Что делать если примечаний уже много?

Как скопировать примечание в ячейку?

Чтобы копировать примечания между ячейками вам достаточно просто скопировать ячейку.

Но для того, чтобы скопировать значения примечания ячейки A1 в другую ячейку, например А2, придется это делать руками — т.е. копируем текст примечания и вставляем в ячейку. Как быть если примечаний сотни? Не вручную само собой.

Наверное самое простое — это создать пользовательскую формулу в VBA.

Включаем макросы, заходим в редактор макросов Вкладка Разработчик — Просмотр кода и вставляем в открывшееся окно код по примеру ниже

Function prim (Ячейка As Range)    prim =Ячейка.Resize(1, 1).comment.Text End Function

Как видно из маленького кода, мы задаем формулу и присваиваем ей возможность получать комментарий из ячейки.

Теперь в нужную ячейку введите формулу

poisk-po-primechaniyam3

Такая формула вернет нужное значение примечания, если таких ячеек сотня — протяните формулу как обычно. Со значениями теперь можно сделать все, что вам необходимо.

Не забудьте сохранить файл с поддержкой макросов или двоичной книгой.

Удачи!

Извлечение текста комментариев в ячейку

Добрый день, товарищи! Сегодня поговорим о том, как работать с комментариями в ячейке.

Все мы знаем, что примечание добавляется очень просто — щелчок на ячейке правой кнопкой мыши и выбор пункта «Добавить примечание».

Как быть в случае если текст уже есть (на листе,  в файле) и его нужно добавить как комментарий или наоборот — извлечь текст комментариев и поместить их в ячейку на листе?

Добавление комментариев по условию мы рассматривали в этой статье.

Добавление комментария в ячейку с помощью Vba.

Для понимания сначала рассмотрим простой пример добавления комментария. О том как вставлять модули в нашу книгу мы говорили здесь. Далее я буду приводить только примеры кода.

Sub add_comment()
With Worksheets(1).Range(«a2»).AddComment
.Visible = False
.Text «просмотрел » & Date
End With
End Sub

Что происходит в этом случае — на листе 1 в диапазоне ячеек A2 добавляется комментарий, далее зовутся свойства Visible (комментарий будет скрыт до наведения), Text собственно сам текст примечания, параметр Date проставит текущую дату.

После выполнения макроса получится вот это.

Извлечение текста комментариев в ячейку

Удобно, но как быть если нужно вставить комментарий для нескольких ячеек или области? Изменим код.

Sub add_comments()
For xNum = 1 To 10
Range(«A» & xNum).AddComment
Range(«A» & xNum).Comment.Text Text:=»Комментарий » & xNum
Next
End Sub

Этот код добавит примечание «Комментарий» ко всем ячейкам от А1 до А10.

Извлечение текста комментариев в ячейку

Извлечение текста комментария в ячейку

Для извлечения текста комментария в ячейку воспользуемся пользовательской функцией.

Function GetComment(rCell As Range) As String
GetComment = rCell.Comment.Text
End Function

Всё максимально просто — объявили функцию, указали свойство, присвоили переменной значение содержащихся в ячейке данных.

Извлечение текста комментариев в ячейку

Текст ячейки в комментарий

Sub CellTextToComment()
 Dim c As Range
 If TypeName(Selection) <> «Range» Then Exit Sub
 For Each c In Selection
 c.Comment.Text Text:=c.Text
 Next c
End Sub

Извлечение текста комментариев в ячейку

Надеюсь, был полезен, товарищи, и извлечение текста комментариев в ячейку не станет для вас проблемой. 

Конечно, код можно усовершенствовать — дерзайте! Если что — вот тут хорошая статья, может вам пригодиться.

Всем удачи!

tutorexcel24.09.201724.09.2017 Комментариев нет

Как извлечь текст примечания из ячейки в Excel?

Как извлечь текст примечания из ячейки в Excel?

Поделиться с друзьями:
Поиск по сайту:
  • « Предыдущий

Добавить комментарий

Ваш адрес email не будет опубликован.

Комментарий

Имя

Email

Сайт

�������� ������ ������ � Excel

�����������


���������� «����������» ��������� ��������
.


����������� 173

RSS


 

�������
2017

 

 1

 2

 3

 4

 5

 6

 7

 8

 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31


�� ��������� 60 ���� �� ���� �� ��������


���� ��������:
http://tutorexcel.ru/

�������:
04-11-2016

�����



tutorX

����������

173 �����������

0 �� ������

  • �������
  • ����������


 
��� �������
 

  • 2017-09-24 16:03
    ��� ������� ����� ���������� �� ������ � Excel?

��� ������� ����� ���������� �� ������ � Excel?
2017-09-24 16:03 tutorexcel

��� ������� ����� ���������� �� ������ � Excel?

������ ��� ����� ������� ����� ���������� �� ������ � Excel ��� ����������� ��������� � ������� ��������� ������, � ����� �������������� ������ ������ ���������� �� ������.

������ ������…



Copyright � 2017, TutorExcel.Ru — ���� � �������� ������� ������ � Excel.
��� ����� ��������. |
���������� ������ |
�����������: ���

�� ����� ������ ������������ � ������� ����������� ������� ����� � �����, �����.


� ���������

     

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как извлечь кубический корень excel
  • Как извлекать квадратные корни в excel
  • Как изменить абсолютную ссылку на относительную excel
  • Как извлекать корень кубический в excel
  • Как извлекать в excel корень n степени

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии