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

Automatyzacja uzupełniania danych z Excela do Worda za pomocą VBA

TakeOff 22 Paź 2020 20:40 1482 15
REKLAMA
  • #1 18994008
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    Witam.
    Mam taki problem

    Dostaje dane w tabeli excel i muszę zrobić z poszczególnych zadań zawartych w tabeli protokoły.
    Radze sobie przeklejając dane z excel do formatki w word.

    Da się to jakoś usprawnić za pomocą VBA?

    Załączam mniej więcej jak to wygląda. (w arkuszu "wydruk" na czerwono są dane które chciałbym aby same się uzupełniały.

    Dane do formatki wydruku zawsze dotyczą jednej komórki z datą z kolumny "A" i reszty danych po prawej od tej komórki
    Czasem jest to jedno zadanie a czasem więcej jak w przykładzie (10.1, 10.2, 10.3)

    Michał
    Załączniki:
    • TEST.xlsx (18.98 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 18994032
    tadkli9743
    Poziom 25  
    Posty: 635
    Pomógł: 70
    Ocena: 280
    Witaj

    Czemu nie wykonasz wydruku w Excelu?

    Pozdrawiam
  • REKLAMA
  • #3 18994217
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    tadkli9743 napisał:
    Witaj

    Czemu nie wykonasz wydruku w Excelu?

    Pozdrawiam


    To znaczy? Chce wydrukowac z excel ale za kazdym razem musze przepisywac dane.

    potrzebuje zrobic wydruk np. z dnia 23 kwietnia. albo z 27 kwietnia (2 różne protokoły)
    lub z 6 maja PaniaFigiel.

    w arkuszu "wydruk" na czerwono wpisałem dane z rączki a chciałbym,żeby wpisywały się po podświetleniu konkretnego wiersza z datą.
    Tu mamy do wygenerowania 3 różne protokoły.

    a w sumie mam na chwile obecną około 150 takich protokołów
  • REKLAMA
  • #4 18994688
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Po mojemu, ze względu na scalenia, bez VBA nie będzie prosto. Potrzebny byłby arkusz pomocniczy z mnóstwem funkcji, a komu chce się to robić...

    Proszę wyjaśnić: Arkusz "Wydruk". Mamy dwie daty. Data wydruku i data wydania. W obu przypadkach używana jest funkcja "DZIŚ". Tak ma być, czy raczej powinna być pobierana z arkusza "Wydany sprzęt"?
  • #5 18995360
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    adamas_nt napisał:
    Po mojemu, ze względu na scalenia, bez VBA nie będzie prosto. ...
    []...
    Proszę wyjaśnić: Arkusz "Wydruk". Mamy dwie daty. Data wydruku i data wydania. W obu przypadkach używana jest funkcja "DZIŚ". Tak ma być, czy raczej powinna być pobierana z arkusza "Wydany sprzęt"?


    Wiem ,że w VBA musi być, odnośnie daty moja pomyłka. Data ma być brana z wydany sprzęt
  • #7 18995900
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    PRL napisał:
    Masz wpływ na arkusz wejściowy, czy otrzymujesz taki miszmasz, jak w załączniku?


    Tak. mam wplyw. moge wplynac na zmiane, po części obecny wygląd to moja koncepcja.
    Ogolnie zależało nam żeby komórki były scalane żeby zachować przejrzystość.

    Głównie zależy nam na tym,żeby seperować wydania datami (kolumna a)
    Zależało mi na rozdzielenie podzadań w kolumnie "e". Zadania są od 1 do nawet 6-7 podzadań.

    Generalnie jestem otwarty na zmiany.

    Data jest potrzebna do protokołu głównie i przejrzystości całości
    Na pewno w głównym arkuszu musi zostać powiazanie nazwisko,miejsce,sprzet,numery seryjne tak abyśmy mogli powiązać za jakiś czas kto ma co i z jakim numerem seryjnym i z jakiego zadania
  • #8 18995926
    PRL
    Poziom 41  
    Posty: 6982
    Pomógł: 953
    Ocena: 917
    Cytat:
    jestem otwarty na zmiany


    Napisanie małej aplikacji w Akcesie rozwiązałoby Twój problem.

    Musi być Excel?
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #9 18996051
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    Nie radze se w Accesie. Probowalem ale poległem.
    Excel ogarniam na tyle ze umiem pare podstawowych rzeczy ogarnąć
  • Pomocny post
    #10 19001768
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    TakeOff napisał:
    Dostaje dane w tabeli excel i muszę zrobić z poszczególnych zadań zawartych w tabeli protokoły.

    Abstrahując od wadliwości takiej procedury :D (protokoły post factum) to jeśli rzeczywiście :?:
    TakeOff napisał:
    moge wplynac na zmiane

    To proponuję wpłynąć na radykalną zmianę tych plików źródłowych :idea: tzn. powinny to być "suche" dane (bez żadnego scalania i ozdobnego formatowania :cunning: ).
    Wówczas możesz wkleić (tylko wartości) bieżące dane do załączonego pliku wydruku (do zmodyfikowanego arkusza Wydany sprzęt). W arkuszu Wydruk po wybraniu z listy numeru protokołu nastąpi automatyczne zestawienie odpowiednich danych do wydruku :spoko:
    Automatyzacja uzupełniania danych z Excela do Worda za pomocą VBA2020-10...png (47.27 kB)Musisz być zalogowany, aby pobrać ten załącznik.
    ProtTES..xlsx (17.85 kB)Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 19004267
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    Prot napisał:
    TakeOff napisał:
    Dostaje dane w tabeli excel i muszę zrobić z poszczególnych zadań zawartych w tabeli protokoły.

    Abstrahując od wadliwości takiej procedury :D (protokoły post factum) to jeśli rzeczywiście :?:
    TakeOff napisał:
    moge wplynac na zmiane



    Nie jest wadliwa. date wpisuje w dniu wydania.
    Wydany sprzet" zostaje jako baza z co dla kogo i z jakim s/n:
    Wydruk jest używany jednorazowo do tego aby został "ślad" u mnie i odbiorcy.

    Wygląda mi, że jest ok wszystko.
    Jutro zaczne wprowadzać prawdziwe dane i zobacze jak to zadziała w praktyce.

    Dam znać. Na razie dziękuję bardzo za pomoc! Sam bym nie dał rady
  • #12 19006361
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    Po małych testach.

    Moge prosic o zmiany?
    Probowałem to ogarnąć ale to przerasta moją znajomość excela ;/
    doszło tel i liczba sztuk.

    Zrezygnowalem tez z daty w wydruku. Jednak wydruki będą szły wcześniej niż wydanie sprzętu.
    Date w wydanym sprzęcie będe uzupełniał po fizycznym wydaniu.

    Dało by się zrobić, żeby tabela "zanikała" po ostatnich wypełnionych wierszach?

    Wprowadzanie danych w kolumnach 2E - 2N w dół do nieskonczoności

    Idealnie by bylo zeby w wydruku miejsce na podpisy bylo na dole. Stopka?
    Załączniki:
    • ProtTEST2_v2.xlsx (23.3 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 19007658
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    TakeOff napisał:
    to przerasta moją znajomość excela

    Wiele wskazuje, że masz rację :D
    TakeOff napisał:
    żeby tabela "zanikała" po ostatnich wypełnionych wierszach?...zeby w wydruku miejsce na podpisy bylo na dole. Stopka?

    Można to zrobić np poprzez niestandardowe formatowanie warunkowe :idea: , oraz przygotowanie odpowiedniej stopki.
    Z mojego doświadczenia wynika jednak, że znacznie lepiej wygląda w wydruku pusta ramka 10 wierszowej tabeli niż np jedno-wierszowa tabela (prawie w nagłówku :please: ) i podpisy w stopce :cry:
    TakeOff napisał:
    Wprowadzanie danych w kolumnach 2E - 2N w dół do nieskonczoności

    Sorry, to poroniony pomysł :cunning: sądzisz, że wprowadzenie paru milionów formuł :ok: (4 pełne kolumny !) do arkusza nie spowoduje spowolnienia obliczeń lub wręcz zawieszenia pliku :?: : D
    TakeOff napisał:
    Jednak wydruki będą szły wcześniej niż wydanie
    sprzętu

    Jeśli tak to najlepszym rozwiązaniem byłoby przygotowanie zupełnie innego pliku wydruku dla osoby wydającej sprzęt, który umożliwił by zestawienie wszystkich danych (za pomocą kilku list wyboru) do wydruku, automatyczne zarchiwizowanie danych transakcji w arkuszu "Wydany sprzęt", oraz automatyczny wydruk z datą faktycznego wydania :idea: :spoko:
    Automatyzacja uzupełniania danych z Excela do Worda za pomocą VBA2020-10...png (45.83 kB)Musisz być zalogowany, aby pobrać ten załącznik.
    ProtTE...7z (56.21 kB)Musisz być zalogowany, aby pobrać ten załącznik.
  • #14 19008183
    TakeOff
    Poziom 12  
    Posty: 32
    Ocena: 4
    Prot napisał:

    TakeOff napisał:
    Wprowadzanie danych w kolumnach 2E - 2N w dół do nieskonczoności

    Sorry, to poroniony pomysł :cunning: sądzisz, że wprowadzenie paru milionów formuł :ok: (4 pełne kolumny !) do arkusza nie spowoduje spowolnienia obliczeń lub wręcz zawieszenia pliku :?: : D

    Jak napisałem. w Excelu umie robić podstawowe rzeczy tylko i myślałem,że to logiczne :P
    Wycofuje sie z "nieskończoności" jakies 200 wierszy powinno starczyć na rok :}

    TakeOff napisał:
    Jednak wydruki będą szły wcześniej niż wydanie
    sprzętu

    Jeśli tak to najlepszym rozwiązaniem byłoby przygotowanie zupełnie innego pliku wydruku dla osoby wydającej sprzęt,
    [/quote]

    Pierwsza wersja była bardziej do ogarnięcia dla mnie. Doszly tam tylko tel. i szt.

    Jeszcze raz opisze o co mi chodzi.
    Arkusz "wydany sprzet" w zasadzie wpisuje po to aby miec dane co kto dostal i w razie reklamacji zeby moc wyszukac s/n:
    mamy tam na potrzeby serwisu dane kto co dostal.
    na przyklad jan kowalski dostal 1 laptop jakis i 10 innych. w m2 i m3 mamy numery tych laptopow w tym przypadku.
    I tu sie konczy rola arkusza "wydany sprzet".
    To ogarniam.

    Teraz to co prosiłem :P
    Dotychczas przeklepuje dane do Worda jednorazowo co komu dostarczylismy po to zeby miec podkladke ze wydalismy.
    tu przykladowo jak wyzej:
    jan kowalski z jednostki aaa o numerze tel i adresie. laptopy 1szt jakis i 10 jakistam, seriale i specyfikacja.
    Gosc odbierajacy podpisuje sie z datą ze odebral.
    tyle biurokracji..Nie mamy tu zadnych odgornych wytycznych.ot dupochron kiedy odebral.

    Dlatego arkusz "wydruk".
    Przejmujacy i stan sprzetu w zasadzie nam niepotrzebne.
    Nie jestesmy magazynem w prawnym znaczeniu. dostajemy sprzet, mamy go oprogramowac, rozdzielic konkretnym osobą/jednostką i dostarczyc.

    wydruki sa tylko po to aby miec podkladke, że odebrali w konkretnej dacie i pozniej aby ustalic w razie gwarancji co czyje
  • #15 19008566
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Przemyśl jeszcze raz to, co napisał kolega Prot. Po mojemu tak byłoby najprościej.
    Główną częścią powinien być formularz wydania ("Wydruk"). Wypełniasz go, wpisujesz dane i naciskasz przycisk [Drukuj]. Tu uruchamia się makro, które archiwizuje (tworzy historię wydań) w arkuszu "wydany sprzęt" w określony sposób.
    Scalenia, to tylko estetyczny szczegół, aczkolwiek ułatwia orientację. Do zrobienia. Ale układ wyjściowy przede wszystkim powinien umożliwiać łatwe filtrowanie/odszukanie informacji.

    Nie wiem ile planujesz takich operacji rocznie, ale rzeczywiście, jak ktoś już wcześniej napisał, idealne zadanie dla Accessa...
  • #16 19008568
    PRL
    Poziom 41  
    Posty: 6982
    Pomógł: 953
    Ocena: 917
    Cytat:
    jak ktoś już wcześniej napisał, idealne zadanie dla Accessa


    To ja napisałem i mogę pomóc Autorowi w konstrukcji takiego zdania.
    Pomogłem? Kup mi kawę.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik Michał poszukuje sposobu na automatyzację procesu przenoszenia danych z Excela do Worda za pomocą VBA, aby uprościć tworzenie protokołów z danych zawartych w tabeli Excel. Obecnie musi ręcznie kopiować dane do formatu w Wordzie, co jest czasochłonne, zwłaszcza przy dużej liczbie protokołów. W dyskusji poruszono kwestie związane z formatowaniem danych w Excelu, scaleniem komórek oraz potrzebą wprowadzenia zmian w arkuszu "Wydany sprzęt". Uczestnicy sugerują, że lepszym rozwiązaniem mogłoby być stworzenie prostego formularza w Excelu, który automatycznie archiwizowałby dane i generował wydruki. Wskazano również na możliwość użycia Accessa, jednak Michał preferuje pozostać przy Excelu, w którym czuje się bardziej komfortowo.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA