Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[VBA, excel] kopiowanie i wklejanie wierszy

karolwa 20 Paź 2017 11:10 357 1
  • #1 20 Paź 2017 11:10
    karolwa
    Poziom 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.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Z góry dziękuję za pomoc.

    0 1
  • Pomocny post
    #2 20 Paź 2017 14:52
    Luckymag
    Poziom 11  

    to makro do "zabawy"

    Kod: vba
    Zaloguj się, aby zobaczyć kod

    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
    Kod: vba
    Zaloguj się, aby zobaczyć kod


    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.

    Kod: vba
    Zaloguj się, aby zobaczyć kod

    DRUGA mozliwosc ma pętle po wszystkich komórkach z kolumny A
    Kod: vba
    Zaloguj się, aby zobaczyć kod

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo