Witam!
Chciałbym uprościć sobie codzienne wpisywanie danych na koniec zmiany roboczej, bo obecnie muszę codziennie wypełniać 5 różnych skoroszytów (plików raportu) stworzyłem plik o nazwie „!wpisywanie” który po uzupełnieniu zawiera wszelkie dane potrzebne do uzupełnienia każdego z pliku raportów i chciałbym go odpowiednio zaprogramować aby za jego pomocą kopiować odpowiednie dane do odpowiednich plików.
Bardzo proszę o pomoc w napisaniu makra które ze skoroszytu „!wpisywanie” kopiowało by różne wskazane wartości do różnych skoroszytów, wszystkie znajdują się w lokalizacji C:\Users\Marek\Desktop\raporty:
W „!wpisywanie” (lokalizacja C:\Users\Marek\Desktop\raporty) w P8 mam wartość miesiąca a w P11 wartość dnia, które zmieniają się na podstawie wpisanej daty – chciałbym aby w momencie wstawiania raportu wpisywało odpowiednie dane do pliku o nazwie identycznej z wartością miesiąca(P8) do arkusza o nazwie jak w P11.
W lokalizacji C:\Users\Marek\Desktop\raporty\raport dobowy mam skoroszyty raportu dobowego Których nazwy odpowiadają miesiącom (listopad, grudzień) – każdy skoroszyt ma 31 arkuszy o nazwach 01, 02… aż do 31 (odpowiedniki dni)
Przyjmując, że raport wstawiam dla daty 02.11.2017 chciałbym aby na podstawie zmiany wskazanej w G2 kopiowało dane w odpowiednie miejsce w pliku listopad, arkuszu 02:
Jeżeli G2=I chciałbym aby skopiowane były:
C2 z „!wpisywanie” wstawić do F3, E2 do D3, D3 do E3, D4 do E15, P2 do G3, oraz niepuste komórki z zakresu D7:H13 do zakresu C5:G11, z D17;H23 do zakresu C17:G23 oraz z zakresu B26:E35 do zakresu J18:M24
plik „!wpisywanie”
plik raportu (listopad):
Jeżeli G2=II chciałbym aby skopiowane były:
C2 do F26, E2 do D26, D3 do E26, D4 do E37, P2 do G26, oraz niepuste komórki z zakresu D7:H13 do zakresu C28:G34, z D17;H23 do zakresu C39:G45 oraz z zakresu B26:E35 do zakresu J40:M46
Jeżeli G2=III chciałbym aby skopiowane były:
C2 do F48, E2 do D48, D3 do E48, D4 do E59, P2 do G48,oraz niepuste komórki z zakresu D7:H13 do zakresu C50:G56, z D17;H23 do zakresu C61:G67 oraz z zakresu B26:E35 do zakresu J51:M57
W skoroszycie „wylakierowane” (lokalizacja C:\Users\Marek\Desktop\raporty) w kolumnie A i B mam nazwy identyczne z nazwami w kolumnach T i U w „!wpisywanie” - chciałbym aby wartości w komórkach kolumny V które są większe niż 0 zostały przeniesione w odpowiedni wiersz w pierwszą pustą komórkę zaczynając od kolumny R (jeśli R już zapisane to S itd.) skoroszytu „wylakierowane” - wartości mają być wpisywane minusowe tak jak jest to w pliku „!wpisywanie”
W skoroszycie „kartony” (lokalizacja C:\Users\Marek\Desktop\raporty) mam arkusze których nazwy odpowiadają nazwom miesięcy. Chciałbym aby na podstawie miesiąca podanego w P8 „!wpisywanie” dane wstawiane były w karcie odpowiadającej wartości miesiąca.
Wiersz miałby być dopasowany tak, aby wartość z P5 „!wpisywanie” była wyszukiwana w kolumnie A i na podstawie danych z zakresu AB2:AK3 czyli jeżeli w P5 mam wartość 02.11/I powinno wstawić w B6-226 oraz w C6-11
W skoroszycie „stan” (lokalizacja C:\Users\Marek\Desktop\raporty) mam 56 arkuszy których nazwy odpowiadają wartościom jakie mogą wystąpić w „!wpisywanie” w zakresach D7:D13 oraz D17:D23.
Chciałbym aby ilości z komórek F7:F13 oraz F17:F23 przenosiło do skoroszytu „stan” do karty której nazwa jest identyczna z wartością z kolumny D danego wiersza w pierwszy wolny wiersz w kolumnie D skoroszytu „stan”, a przy każdej przenoszonej ilości w kolumnie C wstawiało wartość z P5„!wpisywanie”oraz w kolumnie B wartość z C2
Dodatkowo dla wartości z zakresu B26:B35 chciałbym aby analogicznie wartości z kolumny D zostały przenoszone do odpowiednich kart w pierwszy wolny wiersz w kolumnie G a przy każdej przenoszonej ilości w kolumnie F wstawiało wartość z P5„!wpisywanie” a w kolumnie I wartość z C2
I ostatni plik „listopad – odpad” (lokalizacja C:\Users\Marek\Desktop\raporty\Odpad) w którym mam 2 arkusze maszyna A, oraz maszyna B, w których w kolumnie A od A3 do A89 mam wypisane wartości takie jak w kolumnie X od X3 do X89 „!wpisywanie”, oraz w kolumnach od E do CS mam wpisane oznaczenia daty i zmiany w formacie takim jak P5 „!wpisywanie”.
Chciałbym aby wszystkie nie puste wartości z kolumny Y „!wpisywanie” przenoszone były do arkusza maszyna A do odpowiedniej kolumny i do odpowiedniego wiersza (nr kolumny pozostaje taki sam, kolumna ma mieć w przedziale E:CS wartość =P5)
A wszystkie nie puste wartości z kolumny Z „!wpisywanie” przenoszone były do arkusza maszyna B do odpowiedniej kolumny i do odpowiedniego wiersza.
Pliki raportów są dostępne dla wielu osób, dlatego potrzebuję aby nie dało się wstawić danych częściowo, czyli aby raport był możliwy do wstawienia tylko jeśli żaden z plików nie jest otwarty przez innego użytkownika, a gdy jest niemożliwy do wstawienia aby zwracał wiadomość.
Dodatkowo chciałbym aby w momencie poprawnego wstawienia raportu wartości w komórkach C2, E2, G2, D7:D13,F7:F13, D17:D23, F17:F23, B26:B35, D26:D35 kasowały się, tak aby każdorazowo raport był wpisywany od nowa i uniknąć przypadkowego powielenia.
Dobrze jak by również nie pozwolił wstawić raportu gdy nie wypełniona jest któraś z komórek C2, E2, G2.
Wiem, że opis długi i ogarniecie tematu bardzo skomplikowane, jednak bardzo proszę o pomoc. Jestem początkowym użytkownikiem tyle ile potrafiłem zrobić za pomocą formuł w pliku „!wpisywanie” zrobiłem, jednak ze względu na stopień trudności nawet nie wiem jak do tego tematu podejść.
Z góry bardzo dziękuje za pomoc
Chciałbym uprościć sobie codzienne wpisywanie danych na koniec zmiany roboczej, bo obecnie muszę codziennie wypełniać 5 różnych skoroszytów (plików raportu) stworzyłem plik o nazwie „!wpisywanie” który po uzupełnieniu zawiera wszelkie dane potrzebne do uzupełnienia każdego z pliku raportów i chciałbym go odpowiednio zaprogramować aby za jego pomocą kopiować odpowiednie dane do odpowiednich plików.
Bardzo proszę o pomoc w napisaniu makra które ze skoroszytu „!wpisywanie” kopiowało by różne wskazane wartości do różnych skoroszytów, wszystkie znajdują się w lokalizacji C:\Users\Marek\Desktop\raporty:
W „!wpisywanie” (lokalizacja C:\Users\Marek\Desktop\raporty) w P8 mam wartość miesiąca a w P11 wartość dnia, które zmieniają się na podstawie wpisanej daty – chciałbym aby w momencie wstawiania raportu wpisywało odpowiednie dane do pliku o nazwie identycznej z wartością miesiąca(P8) do arkusza o nazwie jak w P11.
W lokalizacji C:\Users\Marek\Desktop\raporty\raport dobowy mam skoroszyty raportu dobowego Których nazwy odpowiadają miesiącom (listopad, grudzień) – każdy skoroszyt ma 31 arkuszy o nazwach 01, 02… aż do 31 (odpowiedniki dni)
Przyjmując, że raport wstawiam dla daty 02.11.2017 chciałbym aby na podstawie zmiany wskazanej w G2 kopiowało dane w odpowiednie miejsce w pliku listopad, arkuszu 02:
Jeżeli G2=I chciałbym aby skopiowane były:
C2 z „!wpisywanie” wstawić do F3, E2 do D3, D3 do E3, D4 do E15, P2 do G3, oraz niepuste komórki z zakresu D7:H13 do zakresu C5:G11, z D17;H23 do zakresu C17:G23 oraz z zakresu B26:E35 do zakresu J18:M24
plik „!wpisywanie”

plik raportu (listopad):

Jeżeli G2=II chciałbym aby skopiowane były:
C2 do F26, E2 do D26, D3 do E26, D4 do E37, P2 do G26, oraz niepuste komórki z zakresu D7:H13 do zakresu C28:G34, z D17;H23 do zakresu C39:G45 oraz z zakresu B26:E35 do zakresu J40:M46
Jeżeli G2=III chciałbym aby skopiowane były:
C2 do F48, E2 do D48, D3 do E48, D4 do E59, P2 do G48,oraz niepuste komórki z zakresu D7:H13 do zakresu C50:G56, z D17;H23 do zakresu C61:G67 oraz z zakresu B26:E35 do zakresu J51:M57
W skoroszycie „wylakierowane” (lokalizacja C:\Users\Marek\Desktop\raporty) w kolumnie A i B mam nazwy identyczne z nazwami w kolumnach T i U w „!wpisywanie” - chciałbym aby wartości w komórkach kolumny V które są większe niż 0 zostały przeniesione w odpowiedni wiersz w pierwszą pustą komórkę zaczynając od kolumny R (jeśli R już zapisane to S itd.) skoroszytu „wylakierowane” - wartości mają być wpisywane minusowe tak jak jest to w pliku „!wpisywanie”


W skoroszycie „kartony” (lokalizacja C:\Users\Marek\Desktop\raporty) mam arkusze których nazwy odpowiadają nazwom miesięcy. Chciałbym aby na podstawie miesiąca podanego w P8 „!wpisywanie” dane wstawiane były w karcie odpowiadającej wartości miesiąca.
Wiersz miałby być dopasowany tak, aby wartość z P5 „!wpisywanie” była wyszukiwana w kolumnie A i na podstawie danych z zakresu AB2:AK3 czyli jeżeli w P5 mam wartość 02.11/I powinno wstawić w B6-226 oraz w C6-11

W skoroszycie „stan” (lokalizacja C:\Users\Marek\Desktop\raporty) mam 56 arkuszy których nazwy odpowiadają wartościom jakie mogą wystąpić w „!wpisywanie” w zakresach D7:D13 oraz D17:D23.
Chciałbym aby ilości z komórek F7:F13 oraz F17:F23 przenosiło do skoroszytu „stan” do karty której nazwa jest identyczna z wartością z kolumny D danego wiersza w pierwszy wolny wiersz w kolumnie D skoroszytu „stan”, a przy każdej przenoszonej ilości w kolumnie C wstawiało wartość z P5„!wpisywanie”oraz w kolumnie B wartość z C2
Dodatkowo dla wartości z zakresu B26:B35 chciałbym aby analogicznie wartości z kolumny D zostały przenoszone do odpowiednich kart w pierwszy wolny wiersz w kolumnie G a przy każdej przenoszonej ilości w kolumnie F wstawiało wartość z P5„!wpisywanie” a w kolumnie I wartość z C2
I ostatni plik „listopad – odpad” (lokalizacja C:\Users\Marek\Desktop\raporty\Odpad) w którym mam 2 arkusze maszyna A, oraz maszyna B, w których w kolumnie A od A3 do A89 mam wypisane wartości takie jak w kolumnie X od X3 do X89 „!wpisywanie”, oraz w kolumnach od E do CS mam wpisane oznaczenia daty i zmiany w formacie takim jak P5 „!wpisywanie”.
Chciałbym aby wszystkie nie puste wartości z kolumny Y „!wpisywanie” przenoszone były do arkusza maszyna A do odpowiedniej kolumny i do odpowiedniego wiersza (nr kolumny pozostaje taki sam, kolumna ma mieć w przedziale E:CS wartość =P5)
A wszystkie nie puste wartości z kolumny Z „!wpisywanie” przenoszone były do arkusza maszyna B do odpowiedniej kolumny i do odpowiedniego wiersza.
Pliki raportów są dostępne dla wielu osób, dlatego potrzebuję aby nie dało się wstawić danych częściowo, czyli aby raport był możliwy do wstawienia tylko jeśli żaden z plików nie jest otwarty przez innego użytkownika, a gdy jest niemożliwy do wstawienia aby zwracał wiadomość.
Dodatkowo chciałbym aby w momencie poprawnego wstawienia raportu wartości w komórkach C2, E2, G2, D7:D13,F7:F13, D17:D23, F17:F23, B26:B35, D26:D35 kasowały się, tak aby każdorazowo raport był wpisywany od nowa i uniknąć przypadkowego powielenia.
Dobrze jak by również nie pozwolił wstawić raportu gdy nie wypełniona jest któraś z komórek C2, E2, G2.
Wiem, że opis długi i ogarniecie tematu bardzo skomplikowane, jednak bardzo proszę o pomoc. Jestem początkowym użytkownikiem tyle ile potrafiłem zrobić za pomocą formuł w pliku „!wpisywanie” zrobiłem, jednak ze względu na stopień trudności nawet nie wiem jak do tego tematu podejść.
Z góry bardzo dziękuje za pomoc
