Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku

JaroFon 14 Lut 2013 20:39 11496 83
  • #31
    JaroFon
    Poziom 23  
    Kolego dzięki wielkie, REWELACJA! :D . A teraz moje pytanie o którym już wspomniałem. Chodzi dokładnie o funkcję zaznaczoną na SCREENIE. W tym miejscu wybieram arkusz do którego chcę wkleić przefiltrowaną listę. Ogólnie to wszystko jest ok, funkcja działa jak należy, ale... możliwe i raczej na pewno będę dodawał do tej listy nowe arkusze jednak problem w tym że każdy nowy arkusz który będę chciał dodać do listy będę musiał prze edytować kod VBA a dokładnie poniższy kod:

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    ...i do tego kodu w całym kodzie gdzie jest odnośnik do arkusza jest zapodany kod:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Jest sposób na to aby arkusze automatycznie dodawały się do tej listy. Kiedy każdy arkusz nazwę z przedrostkiem "ark." i zamiast powyższego kodu zadam ten:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    ... z takim kodem arkusze automatycznie dodają się do listy ale bez tego przedrostka "ark.".

    Jednak zamiast linii wskazującej na arkusz zadaję jak poniżej aby do nazwy wyświetlanej na liście został dodany ten przedrostek "ark." (bo tak właśnie nazywają się arkusze) to kod go nie przyjmuje, czy można to jakoś zgrać ze sobą?:

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • #32
    marek003
    Poziom 40  
    Najprawdopodobniej dlatego, że arkusze masz nazwane ank.xxxx a poprzez kod łączenia dodajesz "ark."&...

    "n" to nie to samo co "r" :)


    :) Dziś wlentynki daj sobie spokój z pracą po pracy. Zajmij się czymś milszym. :)
  • #33
    JaroFon
    Poziom 23  
    No masz rację, jesteś bardzo spostrzegawczy, ja tego nie zauważyłem że zrobiłem błąd literowy. No i kolejny dodatek do mojej 'Ankiety' ale to już raczej ostatni dodatek. Dość często drukuję przeróżne ankiety z różnymi tematami i to tematami które bardzo często się powtarzają, i jak by jeszcze tego było mało to niektóre tematy są dość długie no do tego jeszcze po czesku. Żeby oszczędzić sobie ciągłego kaleczenia pisowni po czesku to jak widać na dolnym screenie dodałem jeszcze jedną małą opcję, a mianowicie 'Dodaj temat'. Opcja ta pomoże mi zapamiętać na stale gotowe już tematy które w prosty sposób dodam do okna 'Temat ankiety'. Jednak nie wiem jak zrobić aby na dodatkowym oknie 'Dodaj temat' wpisać 'Tytuł' i 'Treść tematu' które po kliknięciu na dodaj, dodawały by się do pomocniczego arkusza 'Admin' w kolumnach 'BB' dla 'Tytuł' i BC' dla 'Treść...' a po wybraniu okna 'Gotowy temat' wyświetlało by z kolumny 'BB' tytuły a po kliknięciu na odpowiedni dodał by treść do okna 'Temat ankiety'. Dodaję również pomocniczy plik z tym dodatkiem

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
  • #34
    marek003
    Poziom 40  
    Ostatni? :) Nie sądzę. :)
    Apetyt wzrasta w miarę jedzenia. Tylko nie przesadź bo po jakimś czasie przy 1000 opcjach tylko ty będziesz w stanie obsłużyć ten plik, a czasami warto pojechać na urlop i na tym urlopie wyłączyć komórkę by na prawdę wypocząć.


    Wracając do tematu:
    A nie czujesz potrzeby by samemu spróbować coś takiego zrobić?
    Mnie by już dawno coś zżarło. :) To na prawdę nie jest trudne patrząc na to jaką wiedzę już posiadasz.


    Dodałem "opcję" że jak wpiszesz coś w temat głównego okna i wciśniesz dodaj to temat z głównego okna zostanie skopiowana do szablonu i wystarczy nazwać (zatytułować) szablon. Jeżeli tak ma nie być wyrzuć kod z sekcji inicjacji okna "Temat".

    Nie "bawiłem się" sortowaniem ani kasowaniem wpisanych tematów.

    Dodałem też parę zabezpieczeń by nie wpisywać pustych wartości. Informacje dałem po polsku - jak trzeba to popraw na czeski (niestety nie znam - bliżej słowacki ale też niewiele)

    edit:
    Jednak dodałem sortowanie :) znaj moje dobre serce :)
    (podmieniłem załącznik)
  • #35
    JaroFon
    Poziom 23  
    Dzięki wielkie. Działa wyśmienicie. Przyznam szczerze że nie potrafiłby tego tak napisać pomimo że już coś niecoś potrafię. Ale uwierz mi że takie gotowe kody potrafię wykorzystać w innych sytuacjach i na pewno wykorzystam w udoskonaleniu innej funkcji a w moim przypadku 'Magazyn'. Nawet na podstawie tego co napisałeś poprawiłem już wcześniej napisane prze zemnie wyświetlanie różnych informacji w 'Ankieta'. Zauważalnym że to co napisałem to zrobiłem bardzo 'nieestetycznie' a u Ciebie ma to ręce i nogi :)

    marek003 napisał:
    Nie "bawiłem się" sortowaniem ani kasowaniem wpisanych tematów.


    Przyznam szczerze że funkcja kasowania bądź też edycji przydała by mi się (nie mówię akurat o wykorzystaniu tego w 'Ankieta' ale poprawieniu funkcjonalności 'Magazyn'). Jak widać na dolnym screenie cały magazyn prowadzę bezpośrednio z arkusza a chciałbym przenieść to do okna UserForm. Więc jeśli masz jeszcze chociaż trochę cierpliwości dla mnie to proszę pokaż mi jak to zrobić na powyższym przykładzie a z pewnością dobrze to wykorzystam :D . 'Dodaj' i 'Edytuj' już dodałem do okna ale nie wiem jak prze edytować bądź też usunąć już istniejącą pozycję

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
  • #36
    marek003
    Poziom 40  
    A pisałem że to jeszcze nie koniec. :)

    Co do zmian pozycji magazynowych to nie do końca przekonany jestem czy da się to prosto przełożyć.
    O ile z edycją i zmianą nie powinno być kłopotu o tyle z usunięciem nie do końca.

    W Ankiecie by lista była "ładna" wykorzystuje sortowanie więc usuwanie zrealizowałem właściwie tak samo jak wprowadzenie zmian, tylko danymi do zmiany jest pusty ciąg "". Następnie jest sortowanie co układa mi dane po kolei nakładając dane na puste komórki i jest efekt usunięcia danych (wiersza).
    Potem następuje ponowne wczytanie danych do pola listy.

    Nie wiem czy akurat taka metoda "usuwania" będzie adekwatna do twoich danych magazynowych. Może lepiej wtedy usuwać cały wiersz, nie trzeba będzie sortować, ale co z numeracją/pozycją magazynową. A może pozycja pozostanie a dane będą puste.
    Tu wg mnie trzeba dłużej pomyśleć jaka metoda będzie lepsza.
  • #37
    JaroFon
    Poziom 23  
    Dzięki wielkie. Teraz to już taki wypas że ino pozazdrościć, a najważniejsze że ułatwi mi to moją pracę. Jeśli chodzi o funkcję magazyn to na chwilę obecną właśnie mam to zrobione tak że jak chcę coś prze edytować to kopiuję pozycję do edycji w odpowiednie komórki zaznaczone na screenie, potem pozycja jest usunięta z listy a po edycji dodana z powrotem do listy i lista zostaje posortowana. Usuwanie to porostu usunięcie odpowiedniego wiersza a sortowanie w tym przypadku nie jest potrzebne. Jednak jak napisałem chcę to wszystko przenieść do okna UserForm i dlatego opcja edycji i usuwania zaprezentowana przez Ciebie pomoże mi w zrealizowaniu tego. Mam takie pytanko związane z ComboBox. Czy takie pole w UserForm można tak zablokować aby nie można było by do niego nic wpisać ręcznie ale żeby można dodać pozycje z rozwiniętej listy?
  • #38
    JaroFon
    Poziom 23  
    Jednak to filtrowanie jeszcze mnie gnębi bo widzę że jeszcze bardziej można to udoskonalić. Jak zrobić aby wyświetlanie pracowników w filtrze '2' było uzależnione od ustawień filtra '1'?

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
  • #39
    marek003
    Poziom 40  
    No to żeś zaszalał. :)
    Nie mówie że się nie da ale ... trochę roboty będzie, a przyznaję że nie mam za dużo czasu więc może to potrwać.

    Chyba że ktoś inny szybciej wpadnie na rozwiązanie.
  • #40
    JaroFon
    Poziom 23  
    Ja nie mam zamiaru kogokolwiek pośpieszać. Jestem wdzięczny za udzielanie mi pomocy. Przy okazji proszę powiedz mi która część kodu (w powyższym) jest odpowiedzialna za wklejenie gotowej listy do arkusza? Tz. że jest wklejana do kolumny 'B' licząc od wiersza 6? Jestem w trakcie dodania do 'Ankiety' możliwości obsługi skomplikowanej listy której niestety stylu nie mogę zmienić. Chodzi o to że w tej liście wklejanie musi następować jak by to nazwać "modułowo", czyli wklejanie następuje powiedzmy od: B6 do B20 potem kontynuacja jest od G6 do G20... Czy jest to realne do zrobienia? Całe okno które będzie obsługiwało tą listę jest gotowe jednak utkwiłem w tym odpowiednim wklejaniu listy
  • #41
    marek003
    Poziom 40  
    Przyznam że myślałem że będzie trudniej. W załączeniu filtr z filtra. Nawet ciekawie to wygląda (Odpowiada za to procedura Filtruj2).

    Co do "Wklejania gotowej listy".
    Nie wiem czy dobrze się rozumiemy i czy ja cię rozumiem.
    Nie ma tu (i nie było) "gotowej" listy do wklejenia.

    Lista się tworzy na bieżąco (w arkuszu przyporządkowanym do zmiennej "ark") Tworzy się wiersz za wierszem jeżeli są spełnione warunki filtra. To jest pętla. Po skończeniu pętli lista jest zakończona.

    Za to odpowiada ta częsć kodu:
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    I włąściwie to samo "jeżeli" wykorzystałem do filtra z filtra.

    edit:
    Podmieniłem załącznik bo niepotrzebnie kierunkowałem na ankiete (co prawda działąło ale chodzi o konsekwencje pisania kodu)
  • #42
    JaroFon
    Poziom 23  
    Dzięki wielkie, to jest rewelacyjne :D . A jeśli chodzi o listę to źle się wyraziłem, dokładnie chodzi o listę tworzoną na bieżąco. Może pokaże na przykładzie. Na poniższym screenie widać że utworzyłem nowe okno które otwiera się po wybraniu w polu 'Arkusz' , arkusz o nazwie 'Paszport'. jak widać w tym nowym oknie są dwie listy. lista 1 docelowo będzie zawierać tylko pracowników którzy mają funkcję (etat) o nazwie 'THP', lista 2 to reszta pracowników. I teraz potrzebuję po odpowiednim przefiltrowaniu (najczęściej będzie to z obydwu list wybranie kilku, kilkunastu pracowników) i wklejenie ich o listy następująco: z listy 1 do komórek A11 do A21 pracownik a obok B11 do B21 numer znaczka i dalej kontynuacja tej listy G11 do G21 i F11 do F21. A lista 2 : A23 do A39 i B23 do B39 i kontynuacja G23 do G39 i F23 do F39 dokładnie jak na poniższym screenie. Pewnie trochę namieszałem ale może zrozumiesz :D

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
  • #43
    marek003
    Poziom 40  
    A to ma coś wspólnego z poprzednią listą (Ankietą) czy to całkiem inne zagadnienie (nowa lista).
    Przyznam że trochę to powikłane.

    Excel ma coś takiego przy wydruku jak "powtarzaj wiersze"

    Wtedy na drugiej kartce wydruku też możesz mieć nagłówek i nagłówki kolumn pomimo że w excelu widać listę ciągłą. (Co prawda nie będzie podziału na kolumny).
  • #44
    JaroFon
    Poziom 23  
    Chodzi o to że jak do tej pory ma być filtrowana lista tylko że do tej pory lista zostaje wklejona do odpowiedniego arkusza do kolumny 'B' od wiersza 6 aż do ostatniego przefiltrowanego pracownika. Jednak w tym drugim przypadku muszą się filtrować dwie listy, jedna dla 'THP' a druga dla pozostałych pracowników i obydwie listy wklejone na zasadzie pokazanej na screenie, to trochę skomplikowane. Do tej pory taką listę piszę ręcznie, jednak myślałem udogodnić sobie życie i pomyślałem nad utworzeniem takiej opcji abym nie musiał już ręcznie wypisywać tych pracowników w tej liście.

    Edit
    ...i jak już wspomniałem nie mogę zmienić stylu tej listy, więc muszą być dwie kolumny :cry:
  • #45
    marek003
    Poziom 40  
    JaroFon napisał:
    Jednak w tym drugim przypadku muszą się filtrować dwie listy

    Niestety nie rozumiem.

    Czy tak:
    Na początku tworzy się lista na podstawie "filtrów z ankiety".
    Potem dodawana jest kolejna lista (poniżej ? ) do tego samego arkusza z pracownikami z drugiego okienka (lista 1) i jeszcze z pracownikami z listy 2 tego drugiego okienka.

    Jeżeli tak to z czym masz problem?

    Podpowiem że ostatni wiersz z listy z ankiety określa (po zrobieniu pełnej pętli) zmienna dstW.
  • #46
    JaroFon
    Poziom 23  
    Nie. To nie ma nic wspólnego z filtrem z 'Ankiety'. W 'Paszport' jest taki sam filtr jak w 'Ankieta' i to w 'Paszport' jest filtrowana lista (listy). Dziś już dam sobie spokój bo o 3:00 pobudka do roboty. Skleję to do kupy i jak będzie gotowe to pokaże jeszcze raz jak będziesz miał ochotę do tego zajrzeć :) Jeszcze raz wielkie dzięki za pomoc i zainteresowanie.
  • #47
    marek003
    Poziom 40  
    Ok.
    Jak znajdę czas to spróbuje zrozumieć i pomóc.:)

    edit:
    cały czas nie wiem czy dobrze rozumiem ale...(to już na jutro)

    jeżeli listy z "drugiego" okna tworzą się podobie jak w ankiecie

    to może wystarczy dodać warunek dla pierwszej listy że jeżeli dstW>21 wtedy dstW=11 i zmiana kolumny
    i podobnie dla drugiej listy.
  • #48
    JaroFon
    Poziom 23  
    marek003 napisał:
    cały czas nie wiem czy dobrze rozumiem ale...(to już na jutro)

    jeżeli listy z "drugiego" okna tworzą się podobie jak w ankiecie

    to może wystarczy dodać warunek dla pierwszej listy że jeżeli dstW>21 wtedy dstW=11 i zmiana kolumny
    i podobnie dla drugiej listy.


    Nie do końca tak jest. W oknie 'Paszport' listy filtrują się dokładnie tak jak w 'Ankieta' ale w 'Paszport' jednocześnie filtrują się i tworzą dwie różne listy dla potrzeb arkusza 'Paszport', dlatego też zastosowałem dwa filtry. Jak widać na screenie po wpisaniu w okno 'Arkusz' 'Paszport' zostaje właśnie automatycznie otwarte to okno:

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku

    ... po otwarciu tego okna są dwa filtry, jeden filtruje tylko i wyłącznie pracowników z funkcją (etat) 'THP', a druga to reszta pracowników. Do arkusza 'Paszport' zostają wklejone dwie różne przefiltrowane listy dlatego zastosowałem dwa filtry. Listy zostają wklejone na wzór dolnego screena:

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku


    ... to już jest ostatnia funkcja dla "Ankieta' potem tylko poprawki i kosmetyka to wystarczy mi do pełni życia :D . Kodu do Filtrowania i wklejenia do arkusza nie przekopiowałem z 'Ankiety' bo pewnie będzie wyglądał inaczej. Okno 'Paszport' ma działać tylko dla jednego arkusza o nazwie: 'ank.Paszport'
  • #49
    marek003
    Poziom 40  
    Ku...rcze działało itd ale pracowałem na otwartym pliku z internetu i co z tego że zapisałem............
    Jutro jak znajdę czas to powtórzę.
  • #50
    JaroFon
    Poziom 23  
    W między czasie chcę wprowadzić trochę kosmetyki i poprawek, i próbuję wzbudzić do działania poniższy kod ale niestety nie działa. Kod miałby sprawdzić duplikujące się nazwy arkuszy. Jak mogę sprawdzić duplikujące się nazwy arkuszy?

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • #51
    marek003
    Poziom 40  
    Stworzyłem znowu (podobnie ale chyba troszkę inaczej).
    Zrobiłem tylko wpisywanie do arkusza po filtrach. Nie wiem co ma się jeszcze robić pod "podgląd" więc nie ingerowałem. (zaingerowałem tylko w "przeskakiwanie" między oknami by okna się wyłączały - ale możesz to poprawić)
    Makro informuje gdyby było więcej pracowników niż możliwości arkusza ank.Paszport. (dodałem więcej pracowników by to sprawdzić więc od razu "krzyczy" - jak będziesz wybierał pojedynczo to zauważysz zasadę)

    Dodałem też by zobaczyć efekty pod podglądem odsłonięcie arkusza ank.paszport i jego aktywację - można to usunąć.

    Co do dubli arkuszy:
    po pierwsze: gdzie umieszczasz ten kod?
    po drugie: czy czasem po "ank" nie powinno być kropki? (czyli "ank.")
  • #52
    JaroFon
    Poziom 23  
    Dzięki bardo. Trochę to ogarnę i sprawdzę efekt na oryginale, ale widzę że wszystko jest OK i działa wyśmienicie. Wielkie dzięki. Jeśli chodzi o powyższy kod to miałby być wklejony do okna 'Arkusz' i miałby sterować przyciskami obok w zależności od tego czy duplikaty są czy nie

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku

    Edit
    ...no masz rację, zapomniałem dodać kropkę po "ank"
  • #53
    marek003
    Poziom 40  
    Dodaj jeszcze wyjście z pętli jak znajdzie dubel i będzie działać. Inaczej, jeżeli poszukiwany arkusz nie będzie ostatni to sprawdzając nazwę kolejnego arkusza znów włączy się przycisk, co daje efekt że niby kod nie działa, a kod wyłączył przycisk i znów go włączył bo nazwa kolejnego arkusza nie odpowiada nazwie z cmbAnkieta więc trzeba to przerwać exit'em.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Kłopot jest jednak z umieszczeniem tego kodu.
    Owszem w sekcji change comboboxa będzie działał jeżeli będziesz zmieniał wybór.
    Ale podczas aktywacji całego okna "ankieta" lub wyłączeniu okna Paszportu samo combobox nie "odczuwa" zmiany i kod nie uruchamia się.

    edit:
    Może zdublować kod zarówno w change comboboxa jak i w sekcji inicjalizacji/aktywacji okienka Ankieta lub zgodnie z dobrymi zasadami programowania (jeżeli ten sam kod ma się uruchamiać w różnych miejscach programu) należy "zamknąć" kod własną procedurą i uruchamiać tą procedurę zarówno w change comboboxa jak i w activate okna Ankiety. Choć przy tak krótkim kodzie nie wiem czy jest sens.
  • #54
    JaroFon
    Poziom 23  
    Dzięki. Teraz jest OK. Ostatecznie kod dodałem do 'Modules' i z niego uruchamiam w samym oknie 'Arkusze' i przy Inicjalizacji okna 'Ankieta' a przy okazji przeniosłem do 'Modules' inne kody. Teraz kolejny poniższy kod. Ogólnie kod działa ale informacja zawarta w nim wyskakuje dwa razy, dlaczego? Po kliknięciu na OK informacja pokazuje się drugi raz.

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • #55
    marek003
    Poziom 40  
    Z samego kodu nie wynika by się włączał dwa razy.
    Wywołanie tej procedury musisz mieć "podpięte" w dwóch miejscach.
    lub na przykład zrobiłeś cykliczne zapętlenie przez obiekty. Np
    cheZal.Value = False powoduje samo lub poprze kolejny obiekt zmianę która ponownie uruchamia ten kod.
    Musiał bym zerknąć głębiej.

    Poprzez szukaj sprawdź w kodzie gdzie występuje nazwa procedury (jeżeli to procedura) czy czasem nie ma jej dwa razy.

    Nadmienię tylko że else w tym przypadku jest nie potrzebne (else to w wolnym tłumaczeniu "w przeciwnym wypadku kiedy warunek if nie jest spełniony")
    Ponieważ za else nie ma kodu tylko koniec warunku więc można to wykasować.
  • #56
    JaroFon
    Poziom 23  
    Wcześniej nie pomyślałem o tym że w kodzie procedura wywoływała się dwa razy ponieważ kod był wklejony do CheckBox'a, a kod miał za zadanie w razie spełnionego warunku wyłączyć na 'false' tego CheckBox'a a to powodowało że wyłączenie go uruchamiało kod ponownie. Opanowałem to troszkę inaczej i teraz jest ok. Teraz mam pytanie związane z poniższym kodem. W kodzie dane są pobierane z komórek arkusza w których jest rozwijana lista i te dane pojawiają się w ListBox. Chcę przenieść te dane do pomocniczego arkusza. I tak zrobiłem, utworzyłem listy i zakresy tych list nazwałem. Ale teraz jak w tym kodzie wprowadzić aby dane nie były pobierane z komórki ale z tego właśnie zakresu? Dla poniższego kodu zakres nazywa się 'Kierownik' jak widać na screenie.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
  • #57
    marek003
    Poziom 40  
    Jeżeli "Kierownik" to zakres paru komórek które mają być wyświetlane w comboboxie to wystarczy kod:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    bez żadnych zmiennych i pętli.
  • #58
    JaroFon
    Poziom 23  
    Kurcze takie proste a ja tak kombinowałem jak koń pod górę. Aż mi wstyd :cry:
    Ale mam problem z innym kodem. Za nic nie mogę dojść która część kodu jest odpowiedzialna za to że wpisy są zapisywane od wiersza '2'.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Zrobiłem wreszcie okno z moim 'Magazynem' i próbuję wykorzystać powyższy kod ale nie wiem czy mi to wyjdzie. Ogólnie to muszę zrobić opcję dodawania, edytowania, kopiowania, i usuwania pozycji ale tak aby to funkcjonowało sprawnie.

    Excel- Kwestionariusz pracownika. Rozszerzenie możliwości pliku
  • #59
    marek003
    Poziom 40  
    Wpisy do czego?
    Do comboboxa cmbTemat?
    Jeżeli tak to naprawdę nie widzisz skąd wynika (pierwszy) drugi wiersz?



    ....




























    jest tylko jedna 2 w kodzie.
  • #60
    JaroFon
    Poziom 23  
    Naprawdę nie mam pojęcia. Próbowałem zmieniać już wszystko i wychodzą mi same bzdety. Co bym nie zmienił to zawsze zapis jest od wiersza drugiego