Страницы: 1
RSS
Как найти и отредактировать пользовательскую функцию
 
Когда-то в книге создал и использовал пользовательскую функцию. Она успешно работает и переносится с файлом книги. Но я теперь никак не могу найти эту функцию для редактирования!? Где эта сволочь может болтаться?
 
Сволочь болтается в модуле.
 
Alt+F11 и смотрим - какие там есть модули.
 
Так вот ведь беда какая - нет там никаких моддулей. ПУСТО!
 
Давайте файл - вскрытие покажет :-)
 
На всякий случай загляните Ctrl+F3 Ничего нет?
 
Такой большой, а в сказки верит.  
Когда не работает то, что должно - это глюк, а вот когда работает то, чего нет...)
 
Файл отправил
 
{quote}{login=БЕ}{date=09.12.2011 11:57}{thema=}{post}Так вот ведь беда какая - нет там никаких моддулей. ПУСТО!{/post}{/quote}И зачем вводить народ в заблуждение? - у Вас там аж ТРИ модуля. Summa находится в первом.
 
Ctrl + F3 тоже ничего не показал.  
Я не спорю - она где-то сидит. Вот только мне не дается.
 
Так ведь я в них формул не вижу. Да и названий функций тоже...
 
Сначала Вы говорили, что ВООБЩЕ модулей нет. Куда смотрите, уважаемый БЕ?
 
Все. Прозрел. Приношу свои глубочайшие извинения за поднятую суету. Огромное вам СПАСИБО!
 
БЕ, вы в следующий раз сперва выкладывайте файл, а потом задавайте вопрос. А то сложно доказывать вам, что в файле что-то есть, а вы говорите, что там ничего нет.
 
Каюсь.  
Я редко пользуюсь EXCEL-ем. Поэтому не мог въехать, что текст модуля можно увидеть по нажатию клавиши ввод. А пустое поле событий... Но без вашего участия я там рыться не сообразил бы. Еще раз СПАСИБО огромное.
 
Чуть ускорил Вашу сумму.  
А тот я так и не дождался полного пересчёта :)  
Правда вспомнил недавний косяк с этими сравнениями больше/меньше...  
Не всегда этим сравнениям можно верить.  
Ну тут не тот случай...  
 
 
Function summa(an, bn)  
 
   Select Case True  
   Case an < 200: sum1 = 0  
   Case an < 600: sum1 = 0.03 * an  
   Case an < 1200: sum1 = 0.06 * an  
   Case an < 2400: sum1 = 0.09 * an  
   Case an < 4000: sum1 = 0.12 * an  
   Case an < 7000: sum1 = 0.15 * an  
   Case an < 10000: sum1 = 0.18 * an  
   Case Else: sum1 = 0.21 * an  
   End Select  
 
   Select Case True  
   Case bn < 200: sum2 = 0  
   Case bn < 600: sum2 = 0.03 * bn  
   Case bn < 1200: sum2 = 0.06 * bn  
   Case bn < 2400: sum2 = 0.09 * bn  
   Case bn < 4000: sum2 = 0.12 * bn  
   Case bn < 7000: sum2 = 0.15 * bn  
   Case bn < 10000: sum2 = 0.18 * bn  
   Case Else: sum2 = 0.21 * bn  
   End Select  
 
   sn = an + bn  
 
   Select Case True  
   Case sn < 200: sum3 = 0  
   Case sn < 600: sum3 = 0.03 * sn  
   Case sn < 1200: sum3 = 0.06 * sn  
   Case sn < 2400: sum3 = 0.09 * sn  
   Case sn < 4000: sum3 = 0.12 * sn  
   Case sn < 7000: sum3 = 0.15 * sn  
   Case sn < 10000: sum3 = 0.18 * sn  
   Case Else: sum3 = 0.21 * sn  
   End Select  
 
   summa = (sum3 - sum1 - sum2) * 40  
 
End Function
 
Здорово! Спасибо. Интересное решение!  
А что - долго считает? У меня быстро. Я даже не замечаю!? Специально несколько раз запускал пересчет.
 
Юра. А не подскажешь как мне в автомате обновить все поля таблицы? Дело в том, что мне пришлось ввести в функцию еще один параметр. Там, к конце функции стоит коэффициент 40. Я его вынес в клетку А1. Но вся таблица у меня раскрашена. И все эти цветовые поля нужно сохранить. Вручную все это восстанавливать очень долго... Может какой макрос решит эту проблему. Разумеется, если это не в напряг?!
 
Я не Юра, но подскажу :)  
Я сделал так - изменил код формулы, а потом на листе выделил диапазон и через Ctrl+H заменил ")" на ";A1)".
 
Блин! Как просто! Ну ты гений! СПАСИБО.
Страницы: 1
Читают тему
Наверх