Как записать формулу?

Программирование на Visual Basic for Applications
Гена
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 29.12.2003 (Пн) 16:37

Как записать формулу?

Сообщение Гена » 14.01.2004 (Ср) 15:23

Как в итоговую строку записать формулу которая будет записывать последнее непустое (сверху-вниз) значение, что-то типа ссылки на ячейку, =E2046, но чтобы она менялась автоматически по последней записи.

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 14.01.2004 (Ср) 16:39

Наверника есть функция Excel, но можно написать свою:

Function NP(r as range)

for each n in r
if n.value <>"" then
s=n.value
end if
next r

np =s
end function

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 14.01.2004 (Ср) 16:46

наверняка :P
у меня так получилось:
Код: Выделить всё
=ДВССЫЛ(АДРЕС(14-СЧИТАТЬПУСТОТЫ(F1:F14);6))

учитывая то что ищем по колонке F, сумматор стоит в 15 строчке, а числа перед этим
Ничто так не ограничивает полёт мысли программиста, как компилятор

Гена
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 29.12.2003 (Пн) 16:37

Сообщение Гена » 14.01.2004 (Ср) 18:33

Хорошая формула corgi
=ДВССЫЛ(АДРЕС(14-СЧИТАТЬПУСТОТЫ(F1:F14);6)), но при добавлении строк не меняется номер строки, как это можно избежать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.01.2004 (Чт) 9:46

Вместо 14 пишем СТРОКА()-1
А вместо 6 - СТОЛБЕЦ() :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Гена
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 29.12.2003 (Пн) 16:37

Сообщение Гена » 16.01.2004 (Пт) 18:55

Ура! Получилось, записать формулу в итоговую строку за месяц, а вот за год к сожалению не получается, дело в том что таблица структурирована по месяцам. Как бы написать такую формулу по последней ненулевой записи (сверху-вниз), хочется иметь такой результат, например в 1 строке записано 25, в 10 строке записано 56, 100 строка у нас итоговая и в этой строке автоматически ставилось значение 56.

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 26.01.2004 (Пн) 15:54

Если правильно понял тогда, измени название итоговых ячеек например "А1" на "ITOG" и в формуле ссылайся "=ITOG", при добавлении строк заданные пользователем имена не изменяются.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 83

    TopList