logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Makro które będzie kopiowało dane z wielu arkuszy do 1

vipczesio 17 Cze 2021 09:11 702 14
REKLAMA
  • #1 19483034
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    Witajcie,
    mam dość według mnie ciężki temat do zrobienia.
    Chciałbym aby makro kopiowało dane uzupełnione przez pracowników z poszczególnych arkuszy do Arkusza PH1 i wklejało dane jedno pod drugim.
    Czyli sprawdzało który wiersz jest ostatnim w którym już są dane w PH1 i wkleiło je pod nimi.
    I tak po kolei z każdego arkusza pracownika do PH1.
    Ilość zapisanych wierszy u poszczególnych pracowników może być różna, lub niekiedy danych u jakiegoś pracownika może nie być w ogóle.
    Teraz wygląda to tak że codziennie ręcznie kopiuję dane np. z poszczególnych arkuszy np. "Arek" do PH1 kopiuję zakres komórek od B4 do B55 w dół oraz od V52 w prawo.
    Trudności są takie że jak widać na zdjęciu w komórce B ostatni wpis jest w B52 a ja potrzebuje skopiować dane niżej do B55 bo patrząc dalej na kolumny np: L czy M w wierszach 55 są dane.
    Makro chyba musiało by zaznaczyć dane poprzez sprawdzenie która komórka w B jest ostatnią z jakimiś danymi dodać do tego 3 żeby zejśc jeszcze 3 wiersze w dół i następnie w prawo do V
    Załączam plik uzupełniony przykładowymi danymi.
    Bardzo proszę o pomoc.

    Makro które będzie kopiowało dane z wielu arkuszy do 1
    Załączniki:
    • Wniosek.xlsx (1.03 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 19485156
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    Coś małe zainteresowanie tematem.
    vipczesio napisał:
    Ilość zapisanych wierszy u poszczególnych pracowników może być różna, lub niekiedy danych u jakiegoś pracownika może nie być w ogóle

    Czyli rozumiem, że taki "Arek" co dziennie czyści swój "szablon" i dane zaczyna wprowadzać od B4? Dane zostają skopiowane do PH1 i znów "Arek" zaczyna od B4.
  • #3 19488442
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    Nawet nie czyści swojego arkusza tylko codziennie wrzucany jest nowy plik na którym pracują pracownicy, a ten na którym pracowali np. wczoraj jest przeze mnie przenoszony do innego folderu do beckupu.
  • #4 19488447
    PRL
    Poziom 41  
    Posty: 6981
    Pomógł: 953
    Ocena: 917
    Do dostosowania w załączniku.
    Załączniki:
    • Import wielu plików.zip (22.26 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • #5 19488638
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    Fajny plik, ale niestety nie działa u mnie tak jak potrzebuje.
    Potrzebuję aby kopiowane były + 3 wiersze w dół od wiersza B w który jest ostatnim wypełnionym.
    Na przykładzie mojego pliku i arkusza Arka skopiować muszę do B55 włącznie a makro kopiuje do B52 bo w nim widzi ostatnią wpisaną liczbę :-(
  • REKLAMA
  • #7 19488754
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    vipczesio napisał:
    Nawet nie czyści swojego arkusza tylko codziennie wrzucany jest nowy plik na którym pracują pracownicy

    Ale pytanie zostaje, czy "Arek" co dziennie zaczyna wpisywać od B4?
  • #8 19489325
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    clubs napisał:
    vipczesio napisał:
    Nawet nie czyści swojego arkusza tylko codziennie wrzucany jest nowy plik na którym pracują pracownicy

    Ale pytanie zostaje, czy "Arek" co dziennie zaczyna wpisywać od B4?


    Tak codziennie każdy pracownik w swoim arkuszu zaczyna od B4.
    Na koniec dnia ja to wszystko kopiuje do arkusza PH1 i arkusz ten przesyłam dalej a plik na którym pracowaliśmy beckupuje a na kolejny dzień jest kolejny plik "czysty" który zaczynają uzupełniać od nowa.

    Dodano po 13 [minuty]:

    PRL napisał:
    Cytat:
    aby kopiowane były + 3

    To zmień o 3 w kodzie.

    Zmiana tutaj +1 na +4 powoduje wklejenie danych z kolejnych arkuszy o 4 wiesze poniżej danych z poprzedniego arkusza.
    Chyba że to nie tu to poproszę o wskazówkę.


    NowyWiersz = i.Cells(Rows.Count, KolumnaGdzieWkleic).End(xlUp).Row + 1
  • #9 19489415
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    vipczesio napisał:
    Tak codziennie każdy pracownik w swoim arkuszu zaczyna od B4.
    Na koniec dnia ja to wszystko kopiuje do arkusza PH1 i arkusz ten przesyłam dalej a plik na którym pracowaliśmy beckupuje a na kolejny dzień jest kolejny plik "czysty" który zaczynają uzupełniać od nowa.


    Sprawdź sobie.
    Załączniki:
    • Wniosek2.rar (547.42 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #10 19489847
    PRL
    Poziom 41  
    Posty: 6981
    Pomógł: 953
    Ocena: 917
    Źle odczytałem zadanie. Myślałem, że chodzi o import arkusza z wielu plików.
    Dawno temu był taki temat, do którego napisałem makro.
    Załączniki:
    • ArkuszeDoArkusz1.zip (15.22 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • #11 19489924
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    clubs napisał:
    vipczesio napisał:
    Tak codziennie każdy pracownik w swoim arkuszu zaczyna od B4.
    Na koniec dnia ja to wszystko kopiuje do arkusza PH1 i arkusz ten przesyłam dalej a plik na którym pracowaliśmy beckupuje a na kolejny dzień jest kolejny plik "czysty" który zaczynają uzupełniać od nowa.


    Sprawdź sobie.


    Super o to mi chodziło, działa błyskawicznie aż nie wierzyłem że takie krótkie makro będzie w stanie to zrobić to tak szybko.
    Mam tylko jeszcze jedno pytanie/prośbę czy dane które są kopiowane mogą być wklejane do PH1 nie jako wartości tylko, Wartości i formatowanie liczb.
    Makro które będzie kopiowało dane z wielu arkuszy do 1

    W nagranym przeze mnie makrze takie wklejanie daje taką linijkę kodu:

    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False

    Niestety nie wiem czy można ja dopisać do Twojego makra.

    Dodano po 3 [minuty]:

    PRL napisał:
    Źle odczytałem zadanie. Myślałem, że chodzi o import arkusza z wielu plików.
    Dawno temu był taki temat, do którego napisałem makro.


    Dziękuję za podesłanie pliku.
    Ze względu na fakt że kolega clubs podesłał też swoją wersję która mi akurat bardziej odpowiada to skorzystam w tym przypadku z jego wersji.
    Twoją natomiast też zachowam bo mam już w głowie zastosowanie dla niej.
  • #12 19490248
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    vipczesio napisał:
    Niestety nie wiem czy można ja dopisać do Twojego makra.
    Załączniki:
    • Wniosek3.rar (594.99 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #13 19491099
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    Wygląda na to że bez zmian dla przykładu jeden wiersz a arkuszu Arka w którym sformatowałem ceny kolorem czerwonym:
    Makro które będzie kopiowało dane z wielu arkuszy do 1

    Po skopiowaniu:

    Makro które będzie kopiowało dane z wielu arkuszy do 1
    Oraz jeszcze zauważyłem że chyba makro kopiuje do kolumny T a zależało By mi aby kopiowało do V włącznie.
    Niestety nie potrafię z kodu wychwycić gdzie to zmienić.
  • Pomocny post
    #14 19491675
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    vipczesio napisał:
    Wygląda na to że bez zmian dla przykładu jeden wiersz a arkuszu Arka w którym sformatowałem ceny kolorem czerwonym:

    Sam chciałeś
    vipczesio napisał:
    W nagranym przeze mnie makrze takie wklejanie daje taką linijkę kodu:
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Niestety nie wiem czy można ja dopisać do Twojego makra.

    vipczesio napisał:
    Niestety nie potrafię z kodu wychwycić gdzie to zmienić.
    Załączniki:
    • Wniosek4.rar (575.3 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #15 19492404
    vipczesio
    Poziom 9  
    Posty: 109
    Ocena: 24
    Dziękuję bardzo za pomoc.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik poszukuje makra w Excelu, które automatycznie skopiowałoby dane z różnych arkuszy pracowników do jednego arkusza PH1, wklejając je jeden pod drugim. Kluczowym wymogiem jest, aby makro identyfikowało ostatni wiersz z danymi w arkuszu PH1 i wklejało nowe dane trzy wiersze poniżej. Użytkownik napotkał trudności z istniejącym kodem, który nie uwzględniał tego przesunięcia. W odpowiedziach zaproponowano modyfikacje kodu, aby dostosować go do potrzeb użytkownika, w tym wklejanie wartości i formatowania liczb. Użytkownik ostatecznie znalazł rozwiązanie, które spełnia jego wymagania, ale miał dodatkowe pytania dotyczące formatowania danych.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA