Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копирование массива с одного листа на другой - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование массива с одного листа на другой (Макросы/Sub)
Копирование массива с одного листа на другой
Raven2009 Дата: Четверг, 20.02.2020, 10:07 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.

Используя полученные ранее способы я попробовал перенести с первого листа на второй с подсчетом сумм по столбцам 9 и 11 из первой таблицы и группировкой по ключу t

Мне нужно с первого листа брать массив и копировать на второй лист. Посмотрите пожалуйста код, я наверно что-то неверно написал, т.к. копируется только одной строке... Код в макросе UpdateList2. И в первый столбец пишется еще и ключ...

Подскажите если не трудно еще один вопрос: я каждый столбец из исходной таблицы прописывал в отдельную переменную для res(), есть ли способы оптимизировать сие действие?? Навороченно как получилось... Заранее спасибо!!
К сообщению приложен файл: 5340955.xlsm (92.7 Kb)
 
Ответить
СообщениеДобрый день.

Используя полученные ранее способы я попробовал перенести с первого листа на второй с подсчетом сумм по столбцам 9 и 11 из первой таблицы и группировкой по ключу t

Мне нужно с первого листа брать массив и копировать на второй лист. Посмотрите пожалуйста код, я наверно что-то неверно написал, т.к. копируется только одной строке... Код в макросе UpdateList2. И в первый столбец пишется еще и ключ...

Подскажите если не трудно еще один вопрос: я каждый столбец из исходной таблицы прописывал в отдельную переменную для res(), есть ли способы оптимизировать сие действие?? Навороченно как получилось... Заранее спасибо!!

Автор - Raven2009
Дата добавления - 20.02.2020 в 10:07
Raven2009 Дата: Четверг, 20.02.2020, 13:39 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Подскажите пожалуйста. Мне непонятно, как тут правильно сделать...
 
Ответить
СообщениеПодскажите пожалуйста. Мне непонятно, как тут правильно сделать...

Автор - Raven2009
Дата добавления - 20.02.2020 в 13:39
Fidgy Дата: Четверг, 20.02.2020, 17:05 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 11 ±
Замечаний: 0% ±

Excel 2016
По описанию и коду мало что понятно, но отвечая на этот вопрос:
Посмотрите пожалуйста код, я наверно что-то неверно написал, т.к. копируется только одной строке

У вас масив res() одномерный [vba]
Код
ReDim res(17)
[/vba] и вы его несколько раз перезаписываете и потом передаете на другой лист. Поэтому только и одна строка


Сообщение отредактировал Fidgy - Четверг, 20.02.2020, 17:05
 
Ответить
СообщениеПо описанию и коду мало что понятно, но отвечая на этот вопрос:
Посмотрите пожалуйста код, я наверно что-то неверно написал, т.к. копируется только одной строке

У вас масив res() одномерный [vba]
Код
ReDim res(17)
[/vba] и вы его несколько раз перезаписываете и потом передаете на другой лист. Поэтому только и одна строка

Автор - Fidgy
Дата добавления - 20.02.2020 в 17:05
Raven2009 Дата: Четверг, 20.02.2020, 17:12 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Поэтому только и одна строка


Спасибо, я понял... Разобраться бы, как правильно написать...
 
Ответить
Сообщение
Поэтому только и одна строка


Спасибо, я понял... Разобраться бы, как правильно написать...

Автор - Raven2009
Дата добавления - 20.02.2020 в 17:12
Fidgy Дата: Четверг, 20.02.2020, 17:40 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 11 ±
Замечаний: 0% ±

Excel 2016
Raven2009, вынести команду ReDim перед циклом. И сделайте массив двумерный
[vba]
Код

ReDim res(UBound(m), 17)
[/vba]
И записывайте в этом виде res(r, 0) = ...
 
Ответить
СообщениеRaven2009, вынести команду ReDim перед циклом. И сделайте массив двумерный
[vba]
Код

ReDim res(UBound(m), 17)
[/vba]
И записывайте в этом виде res(r, 0) = ...

Автор - Fidgy
Дата добавления - 20.02.2020 в 17:40
Raven2009 Дата: Четверг, 20.02.2020, 17:55 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
спасибо я понял
 
Ответить
Сообщениеспасибо я понял

Автор - Raven2009
Дата добавления - 20.02.2020 в 17:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование массива с одного листа на другой (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!