Страницы: 1
RSS
ПОЛУЧИТЬ.ЯЧЕЙКУ (или другая из набора макрофункций) для получения номера активной строки
 
Доброго времени суток всем форумчанам!  
Насколько я знаю макрофункция ПОЛУЧИТЬ.ЯЧЕЙКУ позволяет делать некоторые интересные вещи.  
 
Возможно, уже обсуждалось, или кем-то решалась нижеописанная задача.  
 
Есть некий список (см.файл-пример), хочется чтобы в определенных ячейках (например в B3:D3) отображались значения из столбцов F, G, H соответственно, которые находятся в той же строке, в которой находится активная ячейка. Соответственно, если перемещаемся, по листу вверх-вниз, то значения в B3:D3 меняются.  
Вероятно, что для решения этой задачи нужен как минимум номер активной ячейки, остальное же можно жестко задать через АДРЕС() и ДВССЫЛ()  
 
Вроде бы это можно достаточно просто реализовать через макрофункции (возможно, что через ПОЛУЧИТЬ.ЯЧЕЙКУ).  
 
 
Пожалуйста, те, кто в теме, отзовитесь, ибо сам я никогда макрофункциями не пользовался...
 
А =ЯЧЕЙКА("строка";Ячейка) разве не то?
 
насколько я знаю, Вам не поможет ни функция ПОЛУЧИТЬ.ЯЧЕЙКУ, ни даже функция АКТИВНАЯ.ЯЧЕЙКА, так как простое выделение активной ячейки не приводит к пересчёту значения функции - всё равно нужно каждый раз нажимать F9.  
 
а написать макрос, состоящий из двух-трёх команд - так уж сложно?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Почти то:  
=ИНДЕКС(F9:F38;ЯЧЕЙКА("строка")-8)  
Но нужен пересчет листа: "Если аргумент опущен, возвращается требуемая информация о последней ИЗМЕНЕННОЙ ячейке".
 
в одном из столбцов левее этой таблицы будет выпадающий список  
если там выберут элемент списка пересчет (аналог F9) произойдет же?  
можно для подстраховки создать формулу, типа со СМЕЩ() которая, якобы пересчитывается при каждом изменении листа..
 
Проверьте и нам расскажите :)
 
{quote}{login=Excel-Ok}{date=01.06.2011 02:48}{thema=}{post}в одном из столбцов левее этой таблицы будет выпадающий список  
если там выберут элемент списка пересчет (аналог F9) произойдет же?  
..{/post}{/quote}  
Так?
 
Только массив надо изменить G7:G38 на G1:G38 и другие соответственно.
 
vikttur и DV, тогда уже так:  
=ИНДЕКС(F:F;ЯЧЕЙКА("строка")) ну и желательно добавить &""  
 
Вот мой вариант:  
создаётся имя "акт.яч", которое равно =АКТИВНАЯ.ЯЧЕЙКА()    
В B3:D3 вводится формула:  
=ИНДЕКС(1:65536;СТРОКА(акт.яч);СТОЛБЕЦ(F:F))&""  
Отличия в том, что вариант с ЯЧЕЙКА("строка") летучий для всей книги, а конструкция ИНДЕКС(1:65536;....) делает формулу летучей только для выделенного диапазона (в данном случае для всего листа)
 
СПАСИБО всем Большое!  
Буду разбираться! Скорее всего, это максимально то, что хотелось!
 
{quote}{login=@Nik}{date=01.06.2011 04:17}{thema=}{post}...вариант с ЯЧЕЙКА("строка") летучий для всей книги, а конструкция ИНДЕКС(1:65536;....) делает формулу летучей только для выделенного диапазона{/post}{/quote}  
Спасибо, не знал.
Страницы: 1
Читают тему
Наверх