Страницы: 1
RSS
=ЕСЛИОШИБКА()
 
При создании формулы =ЕСЛИОШИБКА()  в книге появляется скрытое имя  "_xlfn.IFERROR" со значением       : Value : "=#NAME?"    
Это только у меня так? Эксель 2010  
 
Обращаю внимание на слово "скрытое"    Visible = False, в диспетчере имен его не видно  
Но если сделать Visible = True, то отображается и его можно удалить. Программно не удаляется.
Bite my shiny metal ass!      
 
{quote}{login=Лузер™}{date=19.01.2012 03:02}{thema==ЕСЛИОШИБКА()}{post}При создании формулы =ЕСЛИОШИБКА()  в книге появляется скрытое имя  "_xlfn.IFERROR" со значением       : Value : "=#NAME?"    
Это только у меня так? Эксель 2010  
 
Обращаю внимание на слово "скрытое"    Visible = False, в диспетчере имен его не видно  
Но если сделать Visible = True, то отображается и его можно удалить. Программно не удаляется.{/post}{/quote}  
"_xlfn.IFERROR" у меня выходить когда на 2007 формулу ввожу =ЕСЛИОШИБКА(), и открываю на 2003 (место =ЕСЛИОШИБКА()это _xlfn.IFERROR)
 
Это известная вещь.  
2003-й ничего не знает про новые формулы.  
Но у меня офис не меняется - даже не закрываю
Bite my shiny metal ass!      
 
Оф 2007, после ввода =ЕСЛИОШИБКА(), см скрин
Редко но метко ...
 
О как.  
Оно даже видимое? у меня скрытое.    
Видно это не баг, а фича.  
В 2007 их достали вопросами "что за имя у меня появилось?" - они и сделали его скрытым в 2010.
Bite my shiny metal ass!      
 
{quote}{login=Лузер™}{date=19.01.2012 04:20}{thema=}{post}О как.  
Оно даже видимое? у меня скрытое.    
Видно это не баг, а фича.  
В 2007 их достали вопросами "что за имя у меня появилось?" - они и сделали его скрытым в 2010.{/post}{/quote}  
 
Было скрытое, я открыл ))
Редко но метко ...
 
догадка не та у меня :(
Bite my shiny metal ass!      
 
Интересно. Так это все-таки баг?  
Иначе зачем оно надо?
 
Поразмыслив...  
Для обеспечения совместимости.  
Не будь этой фичи при открытии в 2003-м в формуле появилась бы ошибка #ИМЯ?, поскольку 2003-й не знает этой формулы, а тут ему заботливо заранее подставили именную формулу созначением ошибки. Это, вероятно, лучше чем отображение ошибки #ИМЯ?, хотя бы тем, что можно понять какая функция была на месте неподдерживаемой.  
 
 
 
Эту фичу я обнаружил, когда макросом удалял все имена в книге (одновременно с удалением формул, кнопок и прочая - чтобы получить только цифры.).  
Макрос:  
For Each iName In ThisWorkbook.Names    
      iName.Delete    
Next  
 
Останавливается с ошибкой. Даже если сделать iName.Visibe = True, все равно не хочет удалять.  
 
Пробовал присвоить другие Name и Value - все равно макрос встает.  
Ругается на плохое имя во всех случаях.  
И отличается от обычных имен свойством .ValidWorkbookParameter = True  
которое еще и ридонли  
 
А теперь, внимание, вопрос.  
Как бы от этих имен избавиться программно?
Bite my shiny metal ass!      
 
Sub DeleteNames()  
   Dim nName As Name  
   For Each nName In ThisWorkbook.Names  
       If nName.Name Like "_xlfn.*" Then nName.Delete  
   Next nName  
End Sub
 
{quote}{login=Ластик}{date=25.01.2012 02:59}{thema=}{post}Sub DeleteNames()  
     
End Sub{/post}{/quote}  
 
не дает )  
выскакивает ошибка.
Редко но метко ...
 
какая?  
 
У меня в Excel 2010 - Эти имена нормально удалились. Я их сперва отобразил    
 
Sub ShowNames()  
   Dim nName As Name  
   For Each nName In ThisWorkbook.Names  
       nName.Visible = True  
   Next nName  
End Sub  
 
а потом удалил  
 
Sub DeleteNames()  
   Dim nName As Name  
   For Each nName In ThisWorkbook.Names  
       If nName.Name Like "_xlfn.*" Then nName.Delete  
   Next nName  
End Sub  
 
никаких ошибок не было. Может их отобразить сперва надо?    
 
У меня нет сейчас Excel 2003, чтобы там потестировать, но в Excel 2010 всё нормально
 
может кто-нить файл выложить с этими ошибками? В моём файле всё удалилось, хочу попробовать в вашем
 
вот файл 2010
Редко но метко ...
 
вот ошибка
Редко но метко ...
 
да, как-то странно... надо подумать, google.com что-то нам не помогает тоже ...
 
Записал макрорекордером  
ActiveWorkbook.Names("_xlfn.IFERROR").Delete  
выдает ту же ошибку.
 
{quote}{login=Ластик}{date=25.01.2012 03:15}{thema=}{post}какая?  
 
У меня в Excel 2010 - Эти имена нормально удалились. Я их сперва отобразил    
 
Sub ShowNames()  
   Dim nName As Name  
   For Each nName In ThisWorkbook.Names  
       nName.Visible = True  
   Next nName  
End Sub  
 
а потом удалил  
 
Sub DeleteNames()  
   Dim nName As Name  
   For Each nName In ThisWorkbook.Names  
       If nName.Name Like "_xlfn.*" Then nName.Delete  
   Next nName  
End Sub  
 
никаких ошибок не было. Может их отобразить сперва надо?    
 
У меня нет сейчас Excel 2003, чтобы там потестировать, но в Excel 2010 всё нормально{/post}{/quote}А Ваш файл можно? С еще не удаленными именами?
Bite my shiny metal ass!      
 
Конечно. Макросы и инструкции в файле.  
 
макросы по отображению имён и по их удалению у меня срабатывают без ошибок в данном файле
 
{quote}{login=Ластик}{date=26.01.2012 01:50}{thema=}{post}Конечно. Макросы и инструкции в файле.  
макросы по отображению имён и по их удалению у меня срабатывают без ошибок в данном файле{/post}{/quote}  
 
Нашел закономерность возникновения ошибки:  
Если открыть ваш файл (в этом формате) ошибок при выполнении макросов не возникает. А если произвести вот такие действия: открыть ваш файл, сохранить как .XLSM, ЗАКРЫТЬ, затем открыть снова и попытаться удалить имена то возникает ошибка.  
Вот такие пироги, видать эти имена не удаляются если файл версии 2007 и выше !.
Редко но метко ...
 
видно, только вручную можно удалить
Страницы: 1
Читают тему
Наверх