Как можно программно транспортировать циклом данные. На лист выводятся данные в столбик, нужно их транспортировать как в примере. Билетов при этом может быть до 100 а то и более. Заранее благодарен.
Добрый день ГУРУ.
Как можно программно транспортировать циклом данные. На лист выводятся данные в столбик, нужно их транспортировать как в примере. Билетов при этом может быть до 100 а то и более. Заранее благодарен.bosika
Sub Bilet() Dim FoundBilet As Range Dim FAdr As String Dim n As Integer Dim RowEnd As Integer Set FoundBilet = Columns(1).Find("Билет", , xlValues, xlPart) FAdr = FoundBilet.Address n = 2 Do RowEnd = Cells(FoundBilet.Row + 1, 2).End(xlDown).Row Cells(n, 7) = FoundBilet Cells(n + 1, 7) = "Вопрос" Cells(n + 2, 7) = "№ вопроса" Cells(n + 3, 7) = "Ответ" Range(Cells(FoundBilet.Row + 1, 2), Cells(RowEnd, 4)).Copy Cells(n + 1, 8).PasteSpecial Transpose:=True Set FoundBilet = Columns(1).Find("Билет", After:=FoundBilet) n = n + 5 Loop While FoundBilet.Address <> FAdr End Sub
[/vba] Границы в транспонированных таблицах в коде попробуйте прописать сами
Макрос [vba]
Код
Sub Bilet() Dim FoundBilet As Range Dim FAdr As String Dim n As Integer Dim RowEnd As Integer Set FoundBilet = Columns(1).Find("Билет", , xlValues, xlPart) FAdr = FoundBilet.Address n = 2 Do RowEnd = Cells(FoundBilet.Row + 1, 2).End(xlDown).Row Cells(n, 7) = FoundBilet Cells(n + 1, 7) = "Вопрос" Cells(n + 2, 7) = "№ вопроса" Cells(n + 3, 7) = "Ответ" Range(Cells(FoundBilet.Row + 1, 2), Cells(RowEnd, 4)).Copy Cells(n + 1, 8).PasteSpecial Transpose:=True Set FoundBilet = Columns(1).Find("Билет", After:=FoundBilet) n = n + 5 Loop While FoundBilet.Address <> FAdr End Sub
[/vba] Границы в транспонированных таблицах в коде попробуйте прописать самиKuzmich