Добрый день. Подскажите, можно ли сделать фильтр, по наличию примечания в ячейке. Есть столбец, где содержаться значения (числовые и строковые) с наличием примечания. Можно ли установить фильтр, именно по наличию примечания.
Добрый день. Подскажите, можно ли сделать фильтр, по наличию примечания в ячейке. Есть столбец, где содержаться значения (числовые и строковые) с наличием примечания. Можно ли установить фильтр, именно по наличию примечания.Smoke27
В макросах я вааще никак, как можно через них? Просто имеются прайсы по 20 тысяч строк, из которых до 5 тысяч с примечаниями, которые нужно отобрать и произвести манипуляции.
В макросах я вааще никак, как можно через них? Просто имеются прайсы по 20 тысяч строк, из которых до 5 тысяч с примечаниями, которые нужно отобрать и произвести манипуляции.Smoke27
Возможно вам надо только отобразить/скрыть примечания для их визуального восприятия, тогда вкладка Рецензирование -> "Показать или скрыть примечания"(MS Office 2007/2010)
Возможно вам надо только отобразить/скрыть примечания для их визуального восприятия, тогда вкладка Рецензирование -> "Показать или скрыть примечания"(MS Office 2007/2010)igrtsk
Инструктор по применению лосей в кавалерийских частях РККА
Добавьте служебный столбец и вытащите в него все примечания, используя UDF:[vba]
Код
Function ПРИМЕЧАНИЕ$(ЯЧЕЙКА As Range) ' Вывести в ячейку текст примечания из ячейки-аргумента If Not ЯЧЕЙКА.Comment Is Nothing Then ПРИМЕЧАНИЕ = ЯЧЕЙКА.Comment.Text End Function
[/vba] а потом фильтруйте по этому столбцу
Добавьте служебный столбец и вытащите в него все примечания, используя UDF:[vba]
Код
Function ПРИМЕЧАНИЕ$(ЯЧЕЙКА As Range) ' Вывести в ячейку текст примечания из ячейки-аргумента If Not ЯЧЕЙКА.Comment Is Nothing Then ПРИМЕЧАНИЕ = ЯЧЕЙКА.Comment.Text End Function
Добавьте служебный столбец и вытащите в него все примечания, используя UDF: [vba]
Код
Function ПРИМЕЧАНИЕ$(ЯЧЕЙКА As Range) ' Вывести в ячейку текст примечания из ячейки-аргумента If Not ЯЧЕЙКА.Comment Is Nothing Then ПРИМЕЧАНИЕ = ЯЧЕЙКА.Comment.Text End Function
[/vba]
а потом фильтруйте по этому столбцу
Кажется то что нужно, спасибо большое, буду сейчас воять, отпишусь потом о результатах
Добавьте служебный столбец и вытащите в него все примечания, используя UDF: [vba]
Код
Function ПРИМЕЧАНИЕ$(ЯЧЕЙКА As Range) ' Вывести в ячейку текст примечания из ячейки-аргумента If Not ЯЧЕЙКА.Comment Is Nothing Then ПРИМЕЧАНИЕ = ЯЧЕЙКА.Comment.Text End Function
[/vba]
а потом фильтруйте по этому столбцу
Кажется то что нужно, спасибо большое, буду сейчас воять, отпишусь потом о результатахSmoke27
Только учтите, что в приведённом мною коде есть грабли! Т.к. объект "Примечание" (Comment) не поддерживает обработку событий, то изменение примечания не вызывает никаких событий в книге, которые могли бы быть обработаны программно. Поэтому, применив данную UDF, Вы получите замерший "снимок" имевшихся на момент вычисления формулы примечаний. Но если Вы измените или удалите примечание в ячейке, то в соседней ячейке вычисленное значение не изменится до тех пор пока Вы не переоткроете книгу или не обновите значения в ячейках (например, добавив к каждой спецвставкой "пустышку").
Тут надо бы, конечно, придумать какой-нибудь "костыль" для автоматизации пересчёта формул, но мне всё недосуг.
Только учтите, что в приведённом мною коде есть грабли! Т.к. объект "Примечание" (Comment) не поддерживает обработку событий, то изменение примечания не вызывает никаких событий в книге, которые могли бы быть обработаны программно. Поэтому, применив данную UDF, Вы получите замерший "снимок" имевшихся на момент вычисления формулы примечаний. Но если Вы измените или удалите примечание в ячейке, то в соседней ячейке вычисленное значение не изменится до тех пор пока Вы не переоткроете книгу или не обновите значения в ячейках (например, добавив к каждой спецвставкой "пустышку").
Тут надо бы, конечно, придумать какой-нибудь "костыль" для автоматизации пересчёта формул, но мне всё недосуг.Alex_ST