Możesz zastosować takie makro: Sub Kopiowanie2() ' ' Kopiowanie2 Makro ' Dim lw As Long, i As Long, j As Long Sheets("Arkusz1").Activate '1 lw = Cells(Rows.Count, "A").End(xlUp).Row '2 j = 1 '3 For i = 2 To lw '4 Range("A" & i & ",B" & i & ",D" & i & ",F" & i).Copy _ Destination:=Sheets("Arkusz2").Range("A" & j).Resize(Range("G" & i)) '5 j = j + Range("G" & i) '6 Next i Sheets("Arkusz2").Activate '7 End Sub Makra z pętlą nie da się nagrać. Trzeba je napisać samodzielnie. Objaśnienie jak to działa. 1) Wybór Arkusza1 jako aktywnego. Do niego odnoszą się odwołania Range i Cells bez kwalifikatora. Jeśli makro będzie uruchamiane z Arkusza1 ten wiersz można pominąć. 2) Określenie numeru ostatniego zapisanego wiersza w kolumnie A. 3) Inicjalizacja licznika wierszy w arkuszu wynikowym. 4) Pętla po wierszach w Arkuszu1 5) Kopiowanie zakresu złożonego z Arkusza1 (adres jest połączeniem tekstów) do Arkusza2 w miejsce "Aj" powielone "Gi" razy 6) Aktualizacja wskaźnika j przed następnym obiegiem pętli. 7) Aktywacja arkusza wynikowego (to można pominąć, ale tak było pierwotnie, więc zakładam, że chcesz, aby makro kończyło w arkuszu wynikowym). Plik załączam z rozszerzeniem .xls. Po odczytaniu możesz go sobie zapisać jako .xlsm. To forum nie akceptuje plików ,xlsm, więc pliki z makrami można załączać albo w starym formacie .xls, albo po archiwizacji w formacie .zip, .rar
" lp " , " szer. " ,, " wys. " , " gr. " , " prof. " , " ile "
" 1 " , " 100 " , " x " , " 150 " , " 15 " , " 150 " , " 3 "
" 2 " , " 152 " , " x " , " 125 " , " 15 " , " 150 " , " 1 "
" 3 " , " 200 " , " x " , " 125 " , " 15 " , " 150 " , " 1 "
" 4 " , " 250 " , " x " , " 5 " , " 15 " , " 150 " , " 1 "
" 5 " , " 200 " , " x " , " 123 " , " 15 " , " 150 " , " 2 "
" 6 " , " 145 " , " x " , " 452 " , " 15 " , " 150 " , " 3 "
, " 365 " , " x " , " 112 " , " 16 " , " 137 " , " 3 "
" 7 " , " 552 " , " x " , " 315 " , " 16 " , " 137 " , " 1 "
" 8 " , " 131 " , " x " , " 217 " , " 15 " , " 137 " , " 2 "
" 9 " , " 28 " , " x " , " 512 " , " 15 " , " 137 " , " 1 "
,,,,,,, " do skopiowania s? wszystkie komórki z kolumn A, B, D, F "
,,,,,,, " w kolumnie G jest ilo?? powtórze? dla kopiowanych wierszy "
" 1 " , " 100 " , " 150 " , " 150 "
" 1 " , " 100 " , " 150 " , " 150 "
" 1 " , " 100 " , " 150 " , " 150 "
" 2 " , " 152 " , " 125 " , " 150 "
" 3 " , " 200 " , " 125 " , " 150 "
" 4 " , " 250 " , " 5 " , " 150 "
" 5 " , " 200 " , " 123 " , " 150 "
" 5 " , " 200 " , " 123 " , " 150 "
" 6 " , " 145 " , " 452 " , " 150 "
" 6 " , " 145 " , " 452 " , " 150 " ,,, " tu wklejone stworzonym makrem dane z arkusza 1. "
" 6 " , " 145 " , " 452 " , " 150 " ,,, " powinno skopiowa? 3 razy wklejaj?c do kolejnego wiersza "
, " 365 " , " 112 " , " 137 "
, " 365 " , " 112 " , " 137 "
, " 365 " , " 112 " , " 137 "
" 7 " , " 552 " , " 315 " , " 137 "
" 8 " , " 131 " , " 217 " , " 137 "
" 8 " , " 131 " , " 217 " , " 137 "
" 9 " , " 28 " , " 512 " , " 137 "