Дополнительные условия к макросу по ссылке: 1. Обратить строки(чтобы последняя строка стала первой) 2. Объединить данные столбцов D и E в один столбец 3. Разделить текстовые столбцы J и O на строки 4. Заполнить пустые ячейки столбцов K,L,M,N значениями из верхних ячеек в соответствии количеству строк в столбце J. 5. Заполнить пустые ячейки столбцов A,B значениями из верхних ячеек в соответствии максимальному количеству строк J или O.
Если это возможно, то очень прошу о помощи с решением.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Всем большое спасибо за ответы. Но я все еще нуждаюсь в помощи по пункту 3. Добавляю количество столбцов и меняю условия деления через запятую, но все равно не корректно отображается Помогите, пожалуйста, только с редакцией кода транспонирования(переноса строк) под мой пример таблицы.
Скрытый текст
Sub Macro1() Dim LastRow As Long, i As Long, j As Long, FreeRow As Long, iCol As Long, Arr Application.ScreenUpdating = False LastRow = Cells(Rows.Count, 5).End(xlUp).Row Range(Cells(2, 1), Cells(LastRow + 1, 9)).ClearContents FreeRow = 2 With Sheets("Лист1") LastRow = .Cells(Rows.Count, 9).End(xlUp).Row For i = 2 To LastRow iCol = 7 Cells(FreeRow, 1) = .Cells(i, 1) Cells(FreeRow, 2) = .Cells(i, 2) Cells(FreeRow, 4) = .Cells(i, 4) Cells(FreeRow, 5) = .Cells(i, 5) Cells(FreeRow, 6) = .Cells(i, 6) Arr = Split(.Cells(i, 3), ",") If UBound(Arr) > 3 Then Max = UBound(Arr) Else Max = 3 For j = 0 To Max If j <= UBound(Arr) Then Cells(FreeRow, 3) = Arr(j) Cells(FreeRow, 7) = .Cells(i, iCol) FreeRow = FreeRow + 1 iCol = iCol + 1 Next Next End With Application.ScreenUpdating = True End Sub