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

Вход

Регистрация

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

 

= Мир MS Excel/Частичный перенос данных из одного массива в другой - Мир MS Excel

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

Excel 2013
Добрый день, уважаемые форумчане.
Столкнулся с проблемой: необходимо перенести данные из массива(3 х 10) в другой массив(3х8) и выгрузить на лист, начиная с ячейки D15.
Цель в том, чтобы значения из первого массива переместить во второй, за исключением данных, содержащихся в первых двух столбцах первого массива.
Уже голову сломал, помогите, пожалуйста!
[vba]
Код

Sub Test()
With Application
.ScreenUpdating = False: .EnableEvents = False: .Calculation = xlCalculationManual
End With
Dim arr, arr1, lstrw&, j&, r&
lstrw = Лист1.Cells(Rows.Count, 2).End(xlUp).Row
arr = Лист1.Range("B3:K" & lstrw)

ReDim arr1(1 To UBound(arr), 1 To 8)
For j = LBound(arr) To UBound(arr)
For r = 3 To 10
arr1(j, j) = arr(j, r)
Next r
Next j
Лист1.Range("D15:K" & lstrw + 13) = arr1
With Application
.Calculation = xlCalculationAutomatic: .EnableEvents = True: .ScreenUpdating = True
End With
End Sub
[/vba]

Пример прилагается.
К сообщению приложен файл: 0900167.xlsm (19.2 Kb)
 
Ответить
СообщениеДобрый день, уважаемые форумчане.
Столкнулся с проблемой: необходимо перенести данные из массива(3 х 10) в другой массив(3х8) и выгрузить на лист, начиная с ячейки D15.
Цель в том, чтобы значения из первого массива переместить во второй, за исключением данных, содержащихся в первых двух столбцах первого массива.
Уже голову сломал, помогите, пожалуйста!
[vba]
Код

Sub Test()
With Application
.ScreenUpdating = False: .EnableEvents = False: .Calculation = xlCalculationManual
End With
Dim arr, arr1, lstrw&, j&, r&
lstrw = Лист1.Cells(Rows.Count, 2).End(xlUp).Row
arr = Лист1.Range("B3:K" & lstrw)

ReDim arr1(1 To UBound(arr), 1 To 8)
For j = LBound(arr) To UBound(arr)
For r = 3 To 10
arr1(j, j) = arr(j, r)
Next r
Next j
Лист1.Range("D15:K" & lstrw + 13) = arr1
With Application
.Calculation = xlCalculationAutomatic: .EnableEvents = True: .ScreenUpdating = True
End With
End Sub
[/vba]

Пример прилагается.

Автор - Xpert
Дата добавления - 18.08.2021 в 11:00
Erjoma1981 Дата: Среда, 18.08.2021, 11:45 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 66
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010, 2019
Добрый день.
Xpert, замените
[vba]
Код
arr1(j, j) = arr(j, r)
[/vba]
на
[vba]
Код
arr1(j, r - 2) = arr(j, r)
[/vba]

[vba]
Код
Лист1.Range("D15:K" & lstrw + 13) = arr1
[/vba]
на
[vba]
Код
Лист1.Range("D15:K" & lstrw + 12) = arr1
[/vba]
 
Ответить
СообщениеДобрый день.
Xpert, замените
[vba]
Код
arr1(j, j) = arr(j, r)
[/vba]
на
[vba]
Код
arr1(j, r - 2) = arr(j, r)
[/vba]

[vba]
Код
Лист1.Range("D15:K" & lstrw + 13) = arr1
[/vba]
на
[vba]
Код
Лист1.Range("D15:K" & lstrw + 12) = arr1
[/vba]

Автор - Erjoma1981
Дата добавления - 18.08.2021 в 11:45
Xpert Дата: Среда, 18.08.2021, 12:13 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 115
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Erjoma1981, спасибо большое, работает!
 
Ответить
СообщениеErjoma1981, спасибо большое, работает!

Автор - Xpert
Дата добавления - 18.08.2021 в 12:13
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Частичный перенос данных из одного массива в другой (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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