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

Excel generowanie dni miesiąca

Maltaethir 13 Lip 2009 15:51 27837 19
  • #1 13 Lip 2009 15:51
    Maltaethir
    Poziom 9  

    Witam

    Mam problem z Excelem. Chciałbym żeby excel generował automatycznie miesiąc. Po włączeniu Excela automatycznie uzupełniałby dni miesiąca i podpisywał im odpowiednie numery tak jak na rysunku:

    https://obrazki.elektroda.pl/60_1247492562.jpg

    tzn. jeżeli mamy lipiec 2009 to wynik będzie 1 = środa ale gdy będzie już sierpień 2009 to 1 = sobota. W przypadku mniejszej liczby dni niż 31 po prostu nie wypełniałby tych danych i zostawiałby tyle dni ile ma miesiąc.

    Proszę o odpowiedź czy jest to możliwe i jeżeli tak to pomóżcie:D

    Pozdrawiam

    0 19
  • #3 13 Lip 2009 21:15
    oggie
    Poziom 15  

    jeśli chcesz bez makra to:
    jest funkcja =dzień.tyg(data) 'data w formie 2009/01/01 (rrrr/mm/dd)

    funkcja zwraca kolejny numer dnia tygodnia, gdzie 1=poniedziałek a 7=niedziela.

    Możesz sobie w prosty wyifować by pisał Poniedziałek jeśli a1.Value = 1 etc., lub jeszcze prościej jeśli dni 1-7 + opisy dasz w osobnym arkuszu, a później do nich w arkuszu gdzie chcesz mieć dni tygodnia w miesiącu potraktujesz funkcją =Wyszukaj.pionowo(szukana_wartosc, tablica_odniesienia, nr_indeksu_kolumny) -> czyli w kolumnie 1 dajesz dni 1-7, w kolumnie 2 odpowiedni pon-ndz. I w ten sposob dla kazdej jedynki w jednym arkuszu zostanie przypisany pon etc.

    1
  • #4 14 Lip 2009 00:27
    adamas_nt
    Moderator Programowanie

    Jak opisuje kolega oggie.
    Z tym, że datę (1-7-2009 dla Lipca) umieściłbym Np w komórce B2, skopiował w dół i użył białego koloru czcionki, jeśli miałaby być niewidoczna (ew. ukryć kolumnę).
    W C2 formuła =DZIEŃ(B2) skopiowana w dół.
    W D2 formuła: =DZIEŃ.TYG(B2), format komórki niestandardowy "dddd" i przeciągnąć w dół.

    Excel generowanie dni miesiąca

    0
  • #5 14 Lip 2009 18:45
    Maltaethir
    Poziom 9  

    Witam ponownie
    Dzięki wszystkim za odpowiedź. Oggie i Adamas_nt słuchajcie jeżeli miałbym tą datę to nie było by problemu bo stosując formułkę:

    =WYBIERZ(DZIEŃ.TYG(A1;2);"Pon";"Wto";"Śro";"Czw";"Pią";"Sob";"Nie")

    Rys. Excel generowanie dni miesiąca

    albo po prostu wstawiłbym przy 1 -> środa i przeciągnął. Ma to służyć generalnie jako karty pracy i ja bym sobie radę dał ale babeczki, które muszą to wypełniać są sędziwego wieku i przeciągnięcie jest dla nich wielkim problem bo muszą zrobić 150 pracownikówa to trochę im zajmuje :D. Chodziło by mi tak jak na poniższym rysunku żeby podając miesiąc i rok (na rys. czerwona otoczka) od razu wypełniałby EXCEL, że pod 1 -> 2009.06 jest PON. Kobitki te podawałyby tylko miesiąc i rok a resztę zablokować.

    Excel generowanie dni miesiąca

    Proszę o jakieś pokierowanie z góry dzięki.

    3
  • #6 14 Lip 2009 19:13
    adamas_nt
    Moderator Programowanie

    W takim razie zmieniłbym wpisywanie nazwy miesiąca na wybór z listy (unikamy błędów pisowni). Jak już mamy wybór z listy to indeks będzie liczbą. I jak już mamy miesiąc w postaci liczby to:
    DZIEŃ.TYG(DATA(rok; miesiąc; dzień)

    Można też od razu w H1 wpisywać miesiąc w postaci liczby i wtedy:
    =DZIEŃ.TYG(DATA(J$1;H$1;A7)

    Żeby całość zupełnie zautomatyzować to wykorzystałbym uruchamiany przy otwarciu UserForm, gdzie użytkownik wybiera miesiąc z pola kombi i jeśli takowy jest, to przechodzi do odp. arkusza a jeśli nie to makro tworzy nowy, gotowy do użycia arkusz (o czym wspominał kolega Gusioo).

    0
  • #7 14 Lip 2009 20:15
    Maltaethir
    Poziom 9  

    Adamas_nt ogromne dzięki :D zastosowałem funkcję:

    =WYBIERZ(DZIEŃ.TYG(DATA($H$1;$J$1;A8);2);"Poniedziałek";"Wtorek";"Środa";"Czwartek";"Piątek";"Sobota";"Niedziela")

    i wszystko poszło alagancko jak ja to mówię :D... Wiesz co nie za bardzo rozumiem jak to wykonać "automatem uruchamiany przy otwarciu UserForm, gdzie użytkownik wybiera miesiąc z pola kombi" czy to już trzeba makro napisać czy po prostu wystarczy przy uruchomieniu Excel pytałby użytkownika o podanie roku i miesiąca a we wszystkich arkuszach tego Zeszytu1 wypełniłyby się pola H1 - rok i J1 - miesiąc.

    Teraz popracuje nad kolorkiem dla soboty i niedzieli żeby się odznaczały.

    Jeszcze raz ogromne dzięki :D

    0
  • #8 14 Lip 2009 21:40
    adamas_nt
    Moderator Programowanie

    Np coś w tym rodzaju (zerknij do załącznika). Kopiowanie oraz inne czynności można nagrać rejestratorem. Pozostanie tylko określenie ilości dni w miesiącu.

    0
  • #9 15 Lip 2009 15:38
    walek33
    Poziom 28  

    A co powiecie na takie rozwiązanie. Myślę, że jest bardziej zbliżone do zapotrzebowania. Trzeba tylko popracować nad:

    - Miesiącami, które na liście są posortowane alfabetycznie.
    - Lutym. Powinien wiedzieć kiedy ma 28 dni.

    W załączniku wrzucam próbkę.

    1
  • #10 15 Lip 2009 19:50
    marek003
    Poziom 40  

    To ja przedstawię jeszcze bardziej zbliżone rozwiązanie :) i to bez makr :) bez UserForm itp i na wszystkie miesiące wraz z latami przestępnymi.
    Dodam że cały silnik tkwi w funkcjach w kolumnie A (ukrytej dla "ładności").

    Wybór danego miesiąca i roku jest poprzez sprawdzanie poprawności (Menu - Dane sprawdzania - lista [wpisana z ręki])

    Kolory (i ramki w przypadku krótszych miesięcy) poprzez formatowanie warunkowe (zaznaczyć cały obszar tabeli - Menu - Format - formatowanie warunkowe - wpisać warunki dotyczące kolumny z dniami - należy zwrócić uwagę na znak $ tylko przy oznaczeniu kolumny)

    ps. Jeżeli w kolumnie A (po jej odsłonięciu) damy format Data będziemy mieli datę na dany dzień reszta to Pikuś - Pan Pikuś :)

    0
  • #11 15 Lip 2009 20:59
    walek33
    Poziom 28  

    Marek... To naprawdę ciekawe rozwiązanie. Przyznaję się bez bicia, że poszedłem na łatwiznę z listą wyboru. W Twojej jest jeden drobny błąd. Pomiędzy sierpniem a wrześniem powinien być średnik. Gratuluję pomysłu.

    0
  • #12 07 Maj 2010 16:14
    profi71
    Poziom 9  

    dzięki Marek to jest to czego od dawna szukałem

    a co mam zrobić aby zamienić na inne kolory?

    0
  • #13 07 Maj 2010 20:40
    walek33
    Poziom 28  

    Zmień kolory w formatowaniu warunkowym.

    0
  • #14 14 Maj 2010 10:26
    profi71
    Poziom 9  

    dzięki Wam udało mi się zrobić coś na własne potrzeby, ale mam jeszcze problem z napisaniem odpowiedniej formuły.
    Może ktoś z Was będzie w stanie mi pomóc
    zrobiłem grafik dla trzech stanowisk pracy (Arkusz1;Arkusz2;Arkusz3)w kilku przypadkach jeden pracownik występuje w więcej niż jednym arkuszu.
    Mam problem z sumowaniem godzin na kilku arkuszach tzn ręcznie potrafię to zsumować ale chciałbym aby odbywało się to bez mojej ingerencji.

    przykład;
    Kowalski występuje w (Arkusz1; komórka B3 oraz Arkusz2; komórka B7) dla poszczególnych arkuszy jego godziny zsumowane są w komórce AI3 i AI7.

    Jakiej użyć formuły aby w Arkusz4 zostały zsumowane wszystkie jego godziny pracy?
    Dokładnie chodzi mi o to aby poprzez odpowiednie sformułowanie zostały zliczane te godziny które odpowiadają danemu pracownikowi. Dodam jeszcze że w każdym arkuszu występuje 12 grafików tj. po jednym na każdy m-c

    z góry dziękuję za pomoc

    0
  • #16 14 Maj 2010 12:53
    profi71
    Poziom 9  

    być może jeśli mógłbyś gotowy podać przykład który zastosuję i sprawdzę

    1
  • #17 14 Maj 2010 13:56
    walek33
    Poziom 28  

    Wrzuć jakiś plik z przykładowymi danymi. Będzie łatwiej przygotować gotowca.

    0
  • #18 14 Maj 2010 14:40
    profi71
    Poziom 9  

    przemyślałem sprawę i myślę że to nie będzie takie proste bo za dużo danych do przeanalizowania... mam nadzieję, że się mylę i znajdziecie rozwiązanie

    załączyłem arkusz i dla przykładu
    pracownik "AAA" występuje w dwóch arkuszach. W czwartym jako zestawienie zsumowałem ręcznie jego przepracowane godziny a chciałbym aby się to odbywało automatycznie

    0
  • #19 14 Maj 2010 14:50
    walek33
    Poziom 28  

    Moja sugestia - nie używaj niepotrzebnych znaków w nazwach plików. niekiedy można się na tym przejechać. :D
    To tak na przykład:

    0
  • Pomocny post
    #20 14 Maj 2010 15:39
    profi71
    Poziom 9  

    dzięki za błyskawiczne rozwiązanie :)

    0