Jack Famous, не нужно мне рассказывать то, что я и так знаю (массивы). Я хоть и зарегистрировался здесь сегодня, но программирую уже давно. Вам, похоже, просто не с кем поговорить, раз вы строчите такие сочинения.
Кстати, вот это повеселило:
Цитата
ах тут же ещё нужно активную ячейку установить правильно
Задание автора читаем по диагонали, а потом удивляемся? Забавно.
Jack Famous, обфускацию? Серьёзно? Это наоборот упрощение.
Цикл? Цикл занимает гораздо больше времени и ресурсов. В моём примере VBA выполняет одну операцию и помещает результат во весь диапазон сразу. В цикле операция будет выполняться столько раз, сколько ячеек в выделенном диапазоне. Не занимайтесь софистикой, обвиняя меня в якобы запутывании кода. UPD:
Цитата
И всё равно у вас ОДНО И ТОЖЕ ЗНАЧЕНИЕ в диапазоне РАЗНЫХ чисел
Посмотрите сообщение топикстартера — ему это и нужно было. Переменные r и c в его задаче являются координатами активной ячейки. А применять, как он написал, нужно к выделенному диапазону (т. е. Selection).
Jack Famous, откройте ту же ссылку, теперь там четыре скриншота. Я сделал специально два диапазона с разными числами в ячейках. Активную ячейку видно — она белая. После запуска макроса всё корректно сработало. Причём в обоих диапазонах.
Недавно установил 365-й Office вместо 2007-го, и теперь периодически размеры окна VBA сбрасываются, и оно либо открывается так: https://i.imgur.com/fnCiL2t.png, либо вообще его размеры превышают размер экрана (чуть больше Full HD). Приходится каждый раз тратить время на изменение размеров окна и его перетаскивание в нужное мне место. Потом ситуация вновь повторяется.
Какой-то закономерности, почему и когда это происходит, я не смог выявить.
Может быть, кто-то знает, как решить эту проблему.