Страницы: 1
RSS
Обмен значениями между двумя диапазонами через ячейку посредник
 
Добрый день, такая ситуация: Имеется ячейка (М1), которая связана формулой с ячейкой (I16).
Необходимо написать код макроса, который бы брал значение из некоторого диапазона ячеек (S11:S21), затем подставлял бы по очереди эти значения в ячейку (М1), и заполнял получившимися значениями ячейки (I16) другой диапазон (T11:T21). Надеюсь понятно

Я написала код, но он выдает ошибки в столбце (T11:T21), помогите исправить пожалуйста
 
Код
Sub ForNext()
  Dim i&
  Randomize
  For i = 1 To 9
    Cells(i, 19) = Int(10 + Rnd() * 89)
    [m1] = Cells(i, 19)
    Cells(i + 10, 20) = [i16]
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Попробуйте задавать значения в диапазон T11:T21 из ячейки I16 вот так:
Код
Range("T" & MyCell.Row) = Range("I16")
 
Полина,
Ещё Вы можете попробовать просто подставить весь диапазон S11:S21 в качестве аргумента функции, аналогичной записанной в I16, непосредственно в ячейки T11:T21 и ввести её там как формулу массива (а если у вас уже обновился офис 365, то он умеет ещё хитрее работать с диапазонами данных).
Если эта функция допускает такие вольности (как та, что указана в примере), то и массив результатов будет корректно сгенерирован.
 
А еще можно с помощью инструмента "Таблица данных"
Скажи мне, кудесник, любимец ба’гов...
 
GRIM, спасибо, помогло!
Изменено: Полина Полина - 12.04.2022 14:42:19
 
_Boroda_ спасибо, интересовал именно метод через макрос
Страницы: 1
Наверх