Знатоки, ответьте на такой вопрос, плиз
Вопрос не так прост, как кажется на первый взгляд...
Для обработки данных присваиваю переменной 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
Диапазоны и массивы -как с ними правильно работать
Модератор: Naeel Maqsudov
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте vladyank
Range("B2").Value=MR не соответствует Вашему вопросу "как записать данные обратно в диапазон...". Явная попытка "затолкать" переменную массива в ячейку "B2"
вариант :более соответствует вопросу.
Евгений.
Range("B2").Value=MR не соответствует Вашему вопросу "как записать данные обратно в диапазон...". Явная попытка "затолкать" переменную массива в ячейку "B2"
вариант :
Код: Выделить всё
MR = Range ("B2:N501")
...
Range ("B2:N501") = MR
Евгений.
Можно добавить, что если массив требуется записать в другой диапазон, например, начинающийся с ячейки "Y10", то можно воспользоваться:
Код: Выделить всё
MR = [B2:N501]
'Здесь Ваши действия с массивом
[Y10].Resize(UBound(MR, 1), UBound(MR, 2)) = MR
благодарю. сейчас попробую 
