Страницы: 1
RSS
Как формулой "отловить" лидирующий апостроф?
 
Помечаю лидирующими апострофами текст заголовков столбцов таблицы, где должен срабатывать макрос. Очень удобно: и метка есть и её никому не видно.  
Правда, лидирующий апостроф в ячейке приходится макросом "отлавливать" по  If ... .PrefixCharacter = "'" Then ...  
Для наглядности (ведь лидирующий апостроф в ячейке не видно) хотел сделать ещё и условное форматирование заголовка столбца по принципу его (апострофа)наличия...  
Не смог написать формулу, определяющую, есть перед текстом в ячейке апостроф или нет...  
Обычными, известными мне, формулами листа его не видно (точно так же, как и обычными текстовыми операциями VBA) первый апостроф в ячейке выделить не удалось...
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Если в проекте используются макросы - почему бы не составить простейшую UDF и не использовать ее в УФ:
 
вообще не понимаю зачем отмечать, если не видно - не проще просто список в проекте хранить?
Живи и дай жить..
 
В общем-то в проекте очень много чего делается макросами.  
Но многое удобнее и проще реализовать формулами. В том числе и УФ.  
Если будет сложно сделать УФ по признаку наличия лидирующего апострофа, то я, конечно, напишу макрос для имитации его...  
Просто не хотелось бы навешивать лишнего на Selection_Change...  
 
Поэтому и вопрос в топике поставлен именно так: "Как формулой листа "отловить" лидирующий апостроф?"
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
так udf может вам вернуть значение массива столбцов(или принадлежность к диапазону)  
 
а можно хранить и в именах..
 
{quote}{login=слэн}{date=23.11.2010 09:51}{thema=}{post}вообще не понимаю зачем отмечать, если не видно - не проще просто список в проекте хранить?{/post}{/quote}  
помечая на листе столбцы, в которых должен работать макрос, невидимыми символами, я избавляю себя от забот об адаптации кода под изменение расположения (номеров)столбцов при их перемещении, добавлении/удалении предыдущих столбцоы и т.д.  
Код получается более гибким т.к. не привязывается к конкретному номеру столбца, а этот номер определяется автоматически.  
Хранение списка в проекте тоже не гибко, т.к. для его изменений нужно править код.  
А в моём варианте если надо чтобы ещё в каком-то столбце работал макрос, то я просто к тексту его заголовка приписываю префикс - апостроф и всё!  
 
=====  
22066
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Алексей,  
так чем мое решение не нравится?  
Правда, открыл сейчас в 2007 - не применяет УФ, пока F9 не нажмешь.  
Лечится наличием хотя бы одной "летучей" формулы на листе или командой Calculate в auto_open.
 
Казанский,  
аналогичную твоей ЮДФ-ку я и сам почти одновременно с тобой написал:  
Function АПОСТРОФ(iCell As Range) As Boolean  
  АПОСТРОФ = iCell.PrefixCharacter = "'"  
End Function  
 
просто думал, а вдруг стандартными формулами можно сделать?  
Ну, раз "формулисты" молчат, значит её в проекте и оставлю.  
Спасибо за советы.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Ну почему же молчат? НЕ ЗНАЮ! :)
 
Аналогично.  
Символ(39) апостроф возвращает, а вот обратно ни одна функция его не видит :(
 
"Шибко заколдованный, однако..." :)
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
Страницы: 1
Читают тему
Наверх