powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ехель -> адрес ячейки из функции
6 сообщений из 6, страница 1 из 1
ехель -> адрес ячейки из функции
    #32342390
kkl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kkl
Гость
А не знает ли кто, как разобрать такую проблему - как узнать из функции в какой ячейке она установлена.
Те
1. Пишем свою функцию ->f1(чегонибудь)
2. в какой то ячейке пишем "=f1(чегонибудь)"
? как из f1 узнать - куда ее в этот раз прописали
спасибо
...
Рейтинг: 0 / 0
ехель -> адрес ячейки из функции
    #32342473
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpecialCells Method

Returns a Range object that represents all the cells that match the specified type and value.
Syntax
expression.SpecialCells(Type, Value)
...
Рейтинг: 0 / 0
ехель -> адрес ячейки из функции
    #32353028
kkl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kkl
Гость
Хорошо, но не то
ведь ровно этот же текст (формула) может быть вставлена в несколько ячеек и надо каждый раз возвращать разные значения - для каждого экземпляра функции именно ее адрес
...
Рейтинг: 0 / 0
ехель -> адрес ячейки из функции
    #32354123
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> как разобрать такую проблему - как узнать из функции в какой ячейке она установлена
Классический пример неполноты постановки задачи "Что, где, когда?":
1. Что: адрес ячейки, содержащей формулу "=f1(чегонибудь)"
2. Где: в самой функции f1(чегонибудь)
3. Когда: не указано.

На 1-й вопрос ответ дан выше: SpecialCells(Type, Value).
Из возвращаемого диапазона выбираются ячейки,
содержащие ПОДстроку "=f1("
2-й вопрос - ограничение реализации - где можно разместить код проверки
и как сообщить функции f1, что она может воспользоваться результатами
"независимой экспертизы".
3. Когда - наверное, надо понимать, что в "куда ее в этот раз прописали" ударение делается на " этот раз ".

Т.о., в обработчике Workbook.Open производится "перепись населения" с отметкой п.5 "Национальность" (f1/прочие), а в обработчике Worksheet_Calculate() производится сверка фактического и списочного состава. Если формулу внесли в ячейку "в этот раз", возбуждается обработка такой ситуации.
Это общий подход. Сегодня - это f1, завтра - f2... Не загромождать же тело функциЙ единообразным вспомогательным кодом.
...
Рейтинг: 0 / 0
ехель -> адрес ячейки из функции
    #32355736
kkl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kkl
Гость
еще уточним
на листе планируется разместить несколько ячеек с формулой "=f(чегонибудь)"
еще более уточним
f(чегонибудь) должна посчитать сложный результат из значений соседних ячеек и данных, вообще к книге не относящихся. все так сложно, что формулу писать нереально.
максимально уточненный вопрос
в этой ситуации желательно функции знать - где она прописана, что бы обратиться к СВОИМ соседям за данными
...
Рейтинг: 0 / 0
ехель -> адрес ячейки из функции
    #32355836
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
максимально уточненный вопрос
в этой ситуации желательно функции знать - где она прописана, что бы обратиться к СВОИМ соседям за данными

Как найти, где прописана, см. выше.
Однако в такой постановке предполагается, что результат зависит от координат ячейки с функцией или от времени заполнения ячейки формулой.
Это порождает массу дополнительных проверок...
все так сложно, что формулу писать нереально.
Возможно, надо переформулировать задачу?
С "пространственной" рекурсией мне не приходилось работать, только с временнОй.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ехель -> адрес ячейки из функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]