Доброго дня! Хотел как-то упростить рутину, для этого надо немного поменять формат таблицы. Пробовал сделать сводную, но она сильно ругалась из-за недостатка какой-то информации, наверно где-то пустые ячейки короче у меня ничего не получилось пока, но не суть, подумал может макросом как-то, можно. ЛЮДИ помогите с реализацией! Подскажите как сделать это проще сводной или макросом, ну и если не сложно не откажусь откакого примера.Сапасиб.
Доброго дня! Хотел как-то упростить рутину, для этого надо немного поменять формат таблицы. Пробовал сделать сводную, но она сильно ругалась из-за недостатка какой-то информации, наверно где-то пустые ячейки короче у меня ничего не получилось пока, но не суть, подумал может макросом как-то, можно. ЛЮДИ помогите с реализацией! Подскажите как сделать это проще сводной или макросом, ну и если не сложно не откажусь откакого примера.Сапасиб.ZamoK
TimSha, пробую Редизайнер но для его работы надо переформатировать полностью все шапки, таблиц оч много и они огромны, сделать можно, но чесно очень геморойно.
TimSha, пробую Редизайнер но для его работы надо переформатировать полностью все шапки, таблиц оч много и они огромны, сделать можно, но чесно очень геморойно.ZamoK
у нас он тоже есть даже с видеоуроком Добавлено: Правда, поскольку у Вас первоначальная таблица некорректно составлена - нужно еще допилить разультат редизайнера несколькими формулами - см пример.
у нас он тоже есть даже с видеоуроком Добавлено: Правда, поскольку у Вас первоначальная таблица некорректно составлена - нужно еще допилить разультат редизайнера несколькими формулами - см пример.SLAVICK
или макросом, ну и если не сложно не откажусь откакого примера.
По такому принципу пойдет? [vba]
Код
Sub reorg() s = 2 For i = 2 To 4 Step 2 Cells(s, 9) = Cells(1, i) Cells(s, 10) = Cells(1, i + 1) For j = 2 To 7 Cells(s, 11) = Cells(j, 1) Cells(s, 12) = Cells(j, i) s = s + 1 Next j s = s + 1 Next i End Sub
или макросом, ну и если не сложно не откажусь откакого примера.
По такому принципу пойдет? [vba]
Код
Sub reorg() s = 2 For i = 2 To 4 Step 2 Cells(s, 9) = Cells(1, i) Cells(s, 10) = Cells(1, i + 1) For j = 2 To 7 Cells(s, 11) = Cells(j, 1) Cells(s, 12) = Cells(j, i) s = s + 1 Next j s = s + 1 Next i End Sub
Wasilich, Результат отличный, только строки , где пустые значения надо убрать, но это я уже сам допилю потихоньку ведь повторюсь пятница сегодня и так уже очень сильно мне помогли. Всем огромное СПАСИБО!
Wasilich, Результат отличный, только строки , где пустые значения надо убрать, но это я уже сам допилю потихоньку ведь повторюсь пятница сегодня и так уже очень сильно мне помогли. Всем огромное СПАСИБО!ZamoK
В общем конечно выглядит так, может надо будет кому[vba]
Код
Sub reorg() s = 2 For i = 2 To 1000 Step 2 Cells(s, 51) = Cells(1, i) Cells(s, 52) = Cells(1, i + 1) For j = 2 To 1000 If Not Cells(j, i) = 0 Then Cells(s, 53) = Cells(j, 1) Cells(s, 54) = Cells(j, i) s = s + 1 End If Next j s = s + 1 Next i
End Sub
[/vba]
В общем конечно выглядит так, может надо будет кому[vba]
Код
Sub reorg() s = 2 For i = 2 To 1000 Step 2 Cells(s, 51) = Cells(1, i) Cells(s, 52) = Cells(1, i + 1) For j = 2 To 1000 If Not Cells(j, i) = 0 Then Cells(s, 53) = Cells(j, 1) Cells(s, 54) = Cells(j, i) s = s + 1 End If Next j s = s + 1 Next i
Ну 1000 то надо бы заменить на определение к-ва обрабатываемых колонок и строк. [vba]
Код
Sub reorg() s = 2 For i = 2 To Cells(1, Columns.Count).End(xlToLeft).Column Step 2 Cells(s, 51) = Cells(1, i) Cells(s, 52) = Cells(1, i + 1) For j = 2 To Range("A" & Rows.Count).End(xlUp).Row If Not Cells(j, i) = 0 Then Cells(s, 53) = Cells(j, 1) Cells(s, 54) = Cells(j, i) s = s + 1 End If Next j s = s + 1 Next i End Sub
[/vba]
Ну 1000 то надо бы заменить на определение к-ва обрабатываемых колонок и строк. [vba]
Код
Sub reorg() s = 2 For i = 2 To Cells(1, Columns.Count).End(xlToLeft).Column Step 2 Cells(s, 51) = Cells(1, i) Cells(s, 52) = Cells(1, i + 1) For j = 2 To Range("A" & Rows.Count).End(xlUp).Row If Not Cells(j, i) = 0 Then Cells(s, 53) = Cells(j, 1) Cells(s, 54) = Cells(j, i) s = s + 1 End If Next j s = s + 1 Next i End Sub