Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[VBA, excel] kopiowanie i wklejanie wierszy

karolwa 20 Oct 2017 11:10 1545 1
  • #1
    karolwa
    Level 1  
    Dzień dobry,

    Zawracam się z prośbą o pomoc. Starałem się przeszukać forum, niestety nie znalazłem pomocy dla rozwiązania problemu.
    Chciałbym utworzyć makro, które znacznie usprawniłoby moją pracę.

    Mianowicie, (jak w załączonym pliku) potrzebowałbym kodu, który kopiowałby po kolei każdą komórkę z kolumny "A" z arkusza#2 i wklejał ją w kolumnie "C" 14 razy.
    Przykładowo: komórka A1 (sheet2) => C1:C14 (sheet1), komórka A2 (sheet2) => C15: C28 (sheet1) itd / czyli każdy niepusty wiersz z kol. A, arkusz#2 został prze klejony 14 razy zaczynając od pierwszego pustego wiersza w kol. C arkusz#1

    Zarejestrowanie makra nie jest dla mnie optymalnym rozwiązaniem (dla dwóch pierwszych komórek kod jak niżej) ze względu na ilość rekordów w arkuszu#2.
    Code: vbscript
    Log in, to see the code


    Z góry dziękuję za pomoc.
  • Helpful post
    #2
    Luckymag
    Level 11  
    to makro do "zabawy"
    Code: text
    Log in, to see the code

    source_name - nazwa źródłowego arkusza
    target_name - nazwa docelowego arkusza
    sorce, target to żródłowy i docelowy arkusz. Można takich zmiennych nie używać i zamiast nich później użyć sheets(source_name) ale tak jest "ładniej"
    liczba_kopii = 14 - ta wartość może być wpisana w jakąś komórkę i tutaj tylko odczytana np: liczba_kopii = source.cells(1,2).value
    kolumna_FROM, kolumna_TO - sądzę że oczywiste, można to zmienić żeby używał innych kolumn
    ile_wierszy - informacja ile wierszy ma skopiować. Można by zmienić kod i pętkę powtarzać nie do osiągnięcia limitu wierszy jak teraz ale do znalezienia pustej komórki. Trzeba by użyć innej pętli
    Code: text
    Log in, to see the code


    Mam nadzieję że przeanalizowanie tego kodu da ci dużo większą wiedzę o VBA.
    Nagrywanie makr jest dobre na początek, używam go żeby dotrzeć do nazw obiektów i ich metod i własności ale kod trzeba zwykle przebudować dodając warunki i pętle, których nie da się nagrać oraz eliminując SELECT bo tylko spowalnia.
    Dodano po 2 [godziny] 18 [minuty]:
    jeszcze dwie wersje....
    Pierwsza
    ile_wierszy, to może być niemal dowolna liczba sprawdzonych wierszy , można wpisać nawet tyle ile wierszy ma cała kolumna (zależy od wersji Excela) Chodzi o to by nie sprawdzać całej kolumny bo to może potrwać....
    Skopiowane zostaną tylko niepuste komórki.

    Code: text
    Log in, to see the code

    DRUGA mozliwosc ma pętle po wszystkich komórkach z kolumny A
    Code: text
    Log in, to see the code