|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.10.2015, 15:56 | #1 |
Новичок
Джуниор
Регистрация: 13.10.2015
Сообщений: 4
|
Автоматическая замена формулы на ее результат при соблюдении условия
Здравствуйте уважаемые мастера программистского спорта!
Мой вопрос ранее уже задавался кем-то на форуме, но то были либо частные варианты вопроса, либо ответы были чуть-чуть не те, что хотелось бы. Несколько дней голову ломаю над этой математическо-логической задачей Допустим в колонках A и B есть табличка 2x5 - то есть два столбца и пять строк. Как сделать следующее: заполняя любую ячейку первого столбца текстом, напротив нее, во втором столбце, появляется цифра 1. (с одной стороны это легко, но формулой =если(А2="";"";1) тут не обойтись, читаем далее). Далее, заполняя любую пустую ячейку первого столбца текстом, напротив нее, во втором столбце должна появиться уже цифра 2. Далее из пяти ячеек первого столбца таблицы у нас пустыми остается три. Заранее не известно какую из них мы будем заполнять, но, можно догадаться, что при заполнении одной из них, напротив заполняемой текстом ячейки, напротив нее, во втором столбце, должна появиться цифра три. И так далее, до тех пор, пока вся таблица не будет заполнена. Фишка в том, что порядковые цифры 1-5 в колонке B должны появляться автоматически, как только соседние ячейки из колонки А перестанут быть пустыми. максимум до чего я продвинулся, это создать кнопку и записать макрос копирования формулы =если(А2="";"";1) и вставки в ту же ячейку уже её результата. но в этом случае придется каждый раз... а) нажимать кнопку, после заполнения текстом ячеек первого стобца б) записывать макросы и создавать кнопки в количестве, равном количеству строк в таблице (это в примере я привел 5 строк, а в действительности их будут сотни) А это уже как то не тянет на красивое решение математическо-логической задачи. Подскажите пожалуйста как разрешить эту задачу, а если выложите еще и наглядный пример, то я Вам памятник воздвигну нерукотворный! Заранее спасибо за внимание к вопросу и уделение времени на его решение. Последний раз редактировалось KWYJIBO; 13.10.2015 в 16:00. |
13.10.2015, 17:15 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
13.10.2015, 18:37 | #3 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Осталось придумать, что делать, если изменяются сразу несколько ячеек из А1:А5
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
13.10.2015, 21:06 | #4 |
Новичок
Джуниор
Регистрация: 13.10.2015
Сообщений: 4
|
Объявляется благодарность мастеру спорта международного класса IgorGO который за пять секунд решил задачу, решение которой было достойно Филдсовской премии!
Вот Человек с большой буквы! Мало того что решил задачу, так еще и сделал это так быстро, что я даже еще свой вопрос до конца не задал, а решение уже было готово (немножко утрирую, но только немножко) IgorGO, спасибо тебе большое! http://img2.ntv.ru/home/news/20080114/hands_std.jpg Восхищён и благодарен! |
15.10.2015, 09:59 | #5 |
Новичок
Джуниор
Регистрация: 13.10.2015
Сообщений: 4
|
Программа от IgorGO работает на ура!
Но, прошу у него прощения, ибо в постановке вопроса, ничтоже сумняшеся, допустил ошибку. Я сказал что в колонке А ячейки будут заполняться текстом. Но, в действительности в колонке А уже будут формулы, со ссылками на другие ячейки, расположенные вообще в разных колонках, проще объяснить на примере Формулы в ячейках колонки А будут одинаковые: А1: =если(D1="";"";1) A2: =если(G1="";"";1) A3: =если(J1="";"";1) A4: =если(M1="";"";1) A5: =если(P1="";"";1) то есть текст будет вбиваться вообще в другие ячейки, а в колонке А будет информация, пустые ли те ячейки или нет. Если пустые, то и в колонке А они будут пустые. А вот если не пустые, то в нужной ячейке колонки А будет цифра 1. А далее уже задача повторяется. Если, допустим, сначала текстом заполнили G1, то тогда в А2 появилась единичка, соответственно в B2 будет 1. Далее, допустим, заполнили текстом М1, соответственно единичка появилась в А4, тогда в B4 будет уже 2. И так далее. Полагаю изменение решения будет в том, что определяющим фактором будет не ЗАПОЛНЕНИЕ текстом ячеек колонки А, а появление в них цифры 1. Программа наверное не сильно должна измениться? Вчера весь вечер пытался разобраться самостоятельно, но не понимаю ничего. Помогите пожалуйста, о гуру. Последний раз редактировалось KWYJIBO; 15.10.2015 в 10:20. |
15.10.2015, 11:55 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
то что было раньше нужно закомментировать или удалить
и скопировать в модуль листа это (отследим теперь событие "пересчет"): Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
15.10.2015, 12:12 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
а если последний цикл вот так записать:
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
15.10.2015, 13:45 | #8 |
Новичок
Джуниор
Регистрация: 13.10.2015
Сообщений: 4
|
Гениально!
https://vk.com/video?gid=60620017&z=...0017_170342798 Игорь, буду откровенен, я вообще ни капли не понял из того, что Вы написали, но всё работает просто идеально! На четвертом десятке лет, к сожалению, я так и не освоил макросы, буду учиться на таких великолепных примерах, которые имею честь видеть, благодаря Вашей помощи, какое счастье, что я попал к вам на этот форум. Спасибо большое, Игорь, Вы мне очень помогли!! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
автоматическая замена ссылок на пункт договора в ворде при изменении исходного пункта | Darya_A | Microsoft Office Word | 10 | 20.02.2013 11:17 |
Автоматическая корректировка формулы при изменении массива данных | rimini6131 | Microsoft Office Excel | 2 | 01.12.2011 16:26 |
Автоматическая замена форматов | Safanna | Microsoft Office Excel | 0 | 29.04.2011 17:50 |
Автоматическая замена значений | Mr.Jass | Microsoft Office Excel | 8 | 23.11.2010 17:20 |