Разбить диапазон и транспонировать его на следующий лист - VBA
Формулировка задачи:
Дорогие, только недавно пришлось взяться за vba, опыта мало, поэтому возникли некоторые проблемы. Мне необходимо разбить диапазон A5:С & неопределенная размерность, на 16000 и транспонировать их на другой лист со смещением, допустим на 1 строку. То есть строк может быть и менее 16000 и более, вот если более, то необходимо разбивать диапазон и транспонировать циклом. Подскажите, как это сделать, через for и обратный step? Может есть у кого похожий код? Прикладываю пример, там разбитие всего по 8 клеток, ну мне главное суть понять, как это делать. И код транспонирования диапазона до 16000.
Буду рад любой помощи. Заранее благодарен.
Решение задачи: «Разбить диапазон и транспонировать его на следующий лист»
textual
Листинг программы
Sub Tr() Const N& = 8 'размер куска Dim i&, j&, k&, lr& With Worksheets("Example") lr = .Cells(.Rows.Count, 1).End(xlUp).Row 'номер посл. строки j = -3 For i = 5 To lr Step N j = j + 6 'очередной номер строки в Result k = WorksheetFunction.Min(N, lr - i + 1) 'размер текущего куска Worksheets("Result").Cells(j, 1).Resize(3, k) = WorksheetFunction.Transpose(.Cells(i, 1).Resize(k, 3)) Next End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д