Страница 1 из 1

Диапазоны и массивы -как с ними правильно работать

Добавлено: 16 мар 2009, 17:16
vladyank
Знатоки, ответьте на такой вопрос, плиз
Вопрос не так прост, как кажется на первый взгляд...

Для обработки данных присваиваю переменной MR ( Dim MR As variant) значения диапазона MR = Range ("B2:N501") и провожу c ней, с переменной MR, манипуляции, как с массивом MR.Все работает.

Вопрос: как записать данные обратно в диапазон ?
Range("B2").Value=MR - это не работает.
Почему? Как решить эту беду?
Методика ( Range("B2").Value=MR ) взята из Excel 2003 и VBA (Пол Киммел и др) стр 472 "Диалектика" 2006 годl

Re: Диапазоны и массивы -как с ними правильно работать

Добавлено: 16 мар 2009, 21:48
Teslenko_EA
Здравствуйте vladyank
Range("B2").Value=MR не соответствует Вашему вопросу "как записать данные обратно в диапазон...". Явная попытка "затолкать" переменную массива в ячейку "B2"
вариант :

Код: Выделить всё

MR = Range ("B2:N501")
...
Range ("B2:N501") = MR
более соответствует вопросу.
Евгений.

Re: Диапазоны и массивы -как с ними правильно работать

Добавлено: 17 мар 2009, 08:16
SAS888
Можно добавить, что если массив требуется записать в другой диапазон, например, начинающийся с ячейки "Y10", то можно воспользоваться:

Код: Выделить всё

MR = [B2:N501]
        'Здесь Ваши действия с массивом
    [Y10].Resize(UBound(MR, 1), UBound(MR, 2)) = MR

Re: Диапазоны и массивы -как с ними правильно работать

Добавлено: 17 мар 2009, 09:41
vladyank
благодарю. сейчас попробую :D