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.

Excel - makro do kopiowania danych komórek określoną ilość raz

shikachu 25 Maj 2012 13:45 2326 4
  • #1 25 Maj 2012 13:45
    shikachu
    Poziom 9  

    Dzień doberek,
    próbuję własnymi siłami stworzyć makro, które skopiuje podaną wartość określoną w sąsiedniej komórce ilość razy.
    Powiedzmy, że A1=15, A2=16, A3=17 to kody sklepów. B1=3, B2=3, B3=2 to ilości przesyłek do konkretnego sklepu. Makro powinno, dajmy na to w komórce G1 rozpocząć listę: 15, 15, 15, 16, 16, 16, 17, 17 w kolejnych wierszach.
    Do tej pory doszedłem do czegoś takiego, ale ten nie jest w stanie realizować więcej niż jednego sklepu, bo kolejne znowu będzie zaczynał w pierwszym wierszu. Brakuje chyba jeszcze jednej pętli zmieniającej kod sklepu.

    Code:
    Sub asd()
    
    Dim wiersz, nr, ilosc As Integer
    Range("C1:D1500").Clear
    nr = Cells(1, 1)
    ilosc = Cells(1, 2)
    For wiersz = 1 To ilosc
    Cells(wiersz, 4) = nr
    Next wiersz
    End Sub

  • #2 25 Maj 2012 22:07
    mcmlxxll
    Poziom 8  

    Z twojego opisu ciężko zrozumieć o co dokładnie Ci chodzi, wrzuć plik excela z opisanymi komórkami i jak ma działac makro, to coś pomyślimy.

  • Pomocny post
    #3 25 Maj 2012 23:41
    adamas_nt
    Moderator Programowanie

    shikachu napisał:
    Brakuje chyba jeszcze jednej pętli zmieniającej kod sklepu.
    Hmm, raczej: na pewno ;) Spróbuj
    Kod: vb
    Zaloguj się, aby zobaczyć kod

  • #4 28 Maj 2012 15:18
    shikachu
    Poziom 9  

    adamas_nt napisał:
    shikachu napisał:
    Brakuje chyba jeszcze jednej pętli zmieniającej kod sklepu.
    Hmm, raczej: na pewno ;) Spróbuj
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dziękuję, to dokładnie to, czego szukałem. Pomyślałem więc, by rozszerzyć to dalej o nową funkcjonalność. W załączniku plik, który nadal meczę. Nie powiem - z ciekawością;]
    Po kolei:
    Arkusz "paczki" to nasz generator listy paczek. Uzyskaną listę kopiujemy do arkusza "plik_wynikowy" (kolumna B), gdzie na podstawie arkusza "dane" uzupełniane są pola adresowe (funkcja WYSZUKAJ.PIONOWO). Teraz utknąłem na kopiowaniu tej funkcji dla każdej paczki, tak by wypełniły się automatycznie. Dochodzą stałe (waga zawsze 10 - to raczej proste, pętla for i = 1 to ostPaka) i daty.
    Wypełniony arkusz chcę zapisać jako "plik_importowy.xls" w katalogu domowym z szerokością kolumn dopasowaną do zawartości bez pytania użytkownika o potwierdzenie.

  • #5 28 Maj 2012 20:09
    adamas_nt
    Moderator Programowanie

    Jeżeli arkusz ma być eksportowany do nowego pliku, to lepiej zrezygnować z formuł (będą się łącza za nim ciągnąć) i zrealizować wyszukiwanie w makro (metoda Range.Find, lub w pętli).

    p.s. Jeśli umieściłeś makro w module, zastosuj precyzyjne odwołania (arkusze). Przycisk przyciskiem, ale łatwo "wdepnąć"...

 
Black Friday do -15%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
Ferguson