green_fr (green_fr) wrote,
green_fr
green_fr

Category:

Excel : relative named ranges

«Шутка» для любителей Excel (смеяться грустно, после слова «L516»).
Знаете, есть там возможность дать какой-то области имя, и потом это имя использовать в формулах? В английском Excel это делается через Insert->Names.
Я только что потерял пол часа, пытаясь сделать то же самое через VBA.

Оказывается, когда я пишу Call ThisWorkbook.Names.Add("LIB_TYPE«, «=param!I1:K516»), написанный мною абсолютный адрес I1:K516 пересчитывается в относительный (относительно той ячейки, на которой стоит в это время курсор, например, если он стоит на A1, то пересчитанный адрес будет L1C9:L516C11), и именованная зона определяется с этим относительным адресом.
Таким образом, если я потом переставлю курсор на B1 и вызову LIB_TYPE, мне вернётся значение матрицы J1:L516! Я не могу представить себе, кому может понадобиться такое поведение именованных зон.

Решением является простановка долларов: Call ThisWorkbook.Names.Add("LIB_TYPE«, «=param!$I$1:$K$516»)

Дабы предупредить возможные комментарии «Переходи на Linux Open Office!», расскажу шутку из Open Office Calc. Предположим, у вас есть файл с двумя закладками: A и B. В закладке B есть формула, указывающая на ячейку X1 закладки A. Скопируем закладку B и поставим её (под именем C) третьей в этом же файле. Вместе со всеми данными закладки скопируется и формула, только теперь она будет указывать на ячейку X1 закладки B!

В данном случае я не то, что не понимаю, кому может пригодиться такое поведение. Я искренне верю, что писавшие Open Office люди просто проморгали этот баг. Надо бы как-нибудь сообщить о нём...
Tags: excel, rabota
Subscribe

  • 2020 год дома

    Вторая часть фотографий 2020 года: что было у нас дома. Купили игрушку на Новый год, Turing Tumble — интересный концепт, когда ты строишь очень…

  • 2020 год в городе

    Разобрал фотографии за 2020 год. В этом году их было немного. Тем не менее, на пару постов набралось: «дома» и «вне дома». Здесь — «вне дома».…

  • Наш 2019 год: мелочи Парижа

    В январе, после множества выступления «жёлтых жилетов» мы с Анютой и Ленкой сходили на митинг «красных шарфов». Нам очень хотелось в кои-то веки…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 26 comments

  • 2020 год дома

    Вторая часть фотографий 2020 года: что было у нас дома. Купили игрушку на Новый год, Turing Tumble — интересный концепт, когда ты строишь очень…

  • 2020 год в городе

    Разобрал фотографии за 2020 год. В этом году их было немного. Тем не менее, на пару постов набралось: «дома» и «вне дома». Здесь — «вне дома».…

  • Наш 2019 год: мелочи Парижа

    В январе, после множества выступления «жёлтых жилетов» мы с Анютой и Ленкой сходили на митинг «красных шарфов». Нам очень хотелось в кои-то веки…