Dynamiczny wzór grafiku w Excelu. Grafik w Excelu

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ก.ย. 2024
  • #excel #vba
    Dynamiczny wzór grafiku w Excelu.
    Oglądając film dowiesz się jak za pomocą VBA w Excelu przygotować dynamiczny wzór grafiku.
    Grafik dzięki listą rozwijanym będzie tworzył zakres dat dla całego miesiąca w wybranym roku.
    Wzór będzie przygotowany za pomocą odpowiedniego kodu VB. W filmie dowiesz się także jak przygotować podobne rozwiązanie używając do tego funkcji PRZESUNIĘCIE() oraz SEKWENCJA().
    Całość zostanie wzbogacona również o formatowanie warunkowe, które to dzięki odpowiednio przygotowanej formule będzie dynamicznie wyróżniać weekendy i święta (potrzebna osobna baza świąt).
    A teraz kilka linków :)
    Link do moich kursów online:
    smartexcel.pl/...
    Link do podstrony "wiedza za grosze" poniżej:
    smartexcel.pl/...
    Pozdrawiam i tradycyjnie życzę Ci miłego EXCEL-owania:)

ความคิดเห็น • 27

  • @michor21
    @michor21 8 หลายเดือนก่อน +2

    pytanie może okazać się bezczelne, ale o ile z samymi kolumnami sobie poradzę, to już z formułami niestety nie. Czy jest możliwość pobrania takiego już gotowego grafiku?

  • @marekdalkowski2703
    @marekdalkowski2703 ปีที่แล้ว

    Jak zawsze wymiatasz

  • @wadwoppl
    @wadwoppl ปีที่แล้ว

    Cześć.
    Tworząc swój grafik znalazłem w sieci wzory na święta ruchome. Problem polegał tylko na tym, że w 2023 nie działalo to jak powinno i musiałem dodać po kilka dni do wzoru.
    Próbowałem to rozkminić matematycznie by znaleźć błąd ale zabrakło mi kreatywności.
    Spotkałeś się z takimi wzorami - święta kościelne ?

  • @ewasomiany9465
    @ewasomiany9465 6 หลายเดือนก่อน

    Cześć świetny i bardzo pomocny filmik! Jedno pytanie - zmieniając miesiące i nie czyszcząc danych pozostają one bez zmian dla każdego z miesiąca. Zależy mi jednak na tym aby wpisane dane dla np. dla czerwca pozostawały bez zmian ale arkusz był czyszczony dla lipca - czy jest taka opcja?

  • @23Marrio
    @23Marrio ปีที่แล้ว

    Mam pytanie czy zapisując w jednej komórce godziny np 8/16 program może wyliczyć że pracownik pracował 8 h?

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว +1

      Pewnie, że może wyliczyć :). Rozwiązań na to jest wiele. Można przygotować rozwiązanie metodą małych kroków, czyli utworzyć kolumny pomocnicze a następnie za pomocą odpowiednich funkcji tekstowych "powyciągać" wartości z lewej i z prawej strony przed separatorem (ogranicznikiem "/"). Inne sposoby to nowe funkcje tablicowe, formuły tablicowe (zatwierdzane CTRL+SHIFT+ENTER) no i oczywiście VBA.
      Ps. Proszę przeanalizować komentarze pod tym filmem. Znajdzie tam Pan podobne rozwiązanie, żeby nie powiedzieć, że dokładnie takie, jakiego Pan szuka.
      Pozdrawiam

  • @piotrzebrowski7618
    @piotrzebrowski7618 7 หลายเดือนก่อน

    Witam Fajnie tłumaczysz nawet zakupiłem dzisziaj Excel w HR ale mam problem bo przy czyszczeniu pojawiami mi się błąd 438 przy debugowaniu zaznacza mi to Application.ScreenUbdating = True w czym jest bład. mam najnowszego Excela

  • @jakubsroka9814
    @jakubsroka9814 ปีที่แล้ว

    Cześć, czy znasz może sposób jak policzyć kliknięcia w hiperlink ?
    Mam podane Hiperlinki w każdej kolumnie w dół 1,2,3,4 itp
    Chciałbym żeby po każdym kliknięciu któregoś hiperlinku licznik obok wskazywał liczbe kliknięć.
    Nie mogę nigdzie znaleźć rozwiązania, czy jest to w ogóle możliwe ?

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว +1

      Cześć, dzięki za komentarz. Tak, znam sposób na zliczanie klikniętych hiperłączy. Wykorzystaj do tego zdarzenie arkusza "Worksheet_FollowHyperlink", gdzie za pomocą argumentu target (argument zdarzenia Worksheet_FollowHyperlink) możesz dokonać takiego zliczania w sąsiedniej komórce. Pozdrawiam

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว +1

      Zapraszam do obejrzenia mojego SHORTS-a :)
      th-cam.com/users/shortsrTqLodhQznY
      Pozdrawiam

  • @23Marrio
    @23Marrio ปีที่แล้ว

    musze pobrac nowsza wersje excela mam z 2007 roku i nie mam tu większosci funkcji podrzuci ktoś linka do pobrania wersji np z 2010 roku?

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว +1

      Powinna pomóc funkcja PRZESUNIĘCIE do rozwiązania zadania w wersji Excela 2007.

  • @menow1893
    @menow1893 ปีที่แล้ว

    Po co nazwa miesiąca z dużej litery skoro w języku polskim nazwy tygodnia i miesięcy piszemy z małej litery?

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว

      Dzięki za komentarz. Słuszna uwaga ale zależało mi w tym przypadku na pokazaniu rozwiązania, które może się przydać w innych sytuacjach. Podczas sekwencji wypełniania wpisałem miesiąc (styczeń) z dużej litery i tak już zostało :). W tym ćwiczeniu wystarczy stworzyć listę rozwijaną, gdzie nazwy miesięcy są pisane z małej litery i nie będzie żadnego problemu z literami i dodatkowym kodem. Pozdrawiam

    • @menow1893
      @menow1893 ปีที่แล้ว

      @@smartexcel-s.godziszewski To miało być pytanie retoryczne xD. Sam kanał na YT oceniam wysoko. Pozdrawiam.

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว

      @@menow1893 😀 Dziękuje i pozdrawiam

  • @SwWlad
    @SwWlad ปีที่แล้ว

    Motyla noga co ja robię źle, wszystkie daty mam jako 01.05.2023, w każdej komórce

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว

      Oznacza, to że pętla działa ale nie dodaje kolejnych dni. Czy udało się rozwiązać problem?

    • @SwWlad
      @SwWlad ปีที่แล้ว

      @@smartexcel-s.godziszewski jeszcze nie

  • @Therien72ola
    @Therien72ola ปีที่แล้ว

    Super materiał! Mam jeszcze pytanko do ciebie, jakbyś mógł mi odpowiedzieć, stosuje ten grafik co zaprezentowałeś i wrzuciłem tam sobie godziny w formie widełek 9-17, 8-16 itd, jak teraz mogę podsumować te godziny? męczę się już z tym wieki, udało mi się wykonać coś co działa, ale to działa tylko dla jednej kolumny :(
    (używam LibreOffice)
    =SUMA(ZAOKR.DO.CAŁK(FRAGMENT.TEKSTU(C3;SZUKAJ.TEKST("-";C3;2)+1;DŁ(C3)-SZUKAJ.TEKST("-";C3;2))) - ZAOKR.DO.CAŁK(FRAGMENT.TEKSTU(C3;1+SZUKAJ.TEKST("-";C3;2)-SZUKAJ.TEKST("-";C3;2);2)))

    • @smartexcel-s.godziszewski
      @smartexcel-s.godziszewski  ปีที่แล้ว +1

      Rozwiązań może być wiele w tym przypadku. Można wykorzystać do tego nowe funkcje dostępne w MS Excel 365 np. TEKST.PO i TEKST.PRZED, formuły tablicowe, wbudowane funkcje jak i VBA
      Poniżej moje propozycje rozwiązań:
      FUNKCJE TABLICOWE (EXCEL 365)
      =SUMA(TEKST.PO(B2:AE2;"/";;;;0)-TEKST.PRZED(B2:AE2;"/";;;;0)) - GDZIE zakres B2:AE2 to wszystkie komórki w grafiku dla danego pracownika
      FORMUŁA TABLICOWA:
      =SUMA(JEŻELI.BŁĄD(JEŻELI(FRAGMENT.TEKSTU(B2:AE2;SZUKAJ.TEKST("/";B2:AE2;1)+1;2)>0;FRAGMENT.TEKSTU(B2:AE2;SZUKAJ.TEKST("/";B2:AE2;1)+1;2)-LEWY(B2:AE2;DŁ(B2:AE2)-SZUKAJ.TEKST("/";B2:AE2;1)-1);0);0)) - zatwierdzamy CTRL + SHIFT + ENTER
      KOD VBA:
      Sub policzGodziny()
      Dim t As Variant ' deklaracja tablicy na potrzeby rozbicia danych
      Dim k As Integer, w As Long ' deklaracja kolumny i wiersza
      Dim i As Integer, j As Integer ' deklaracja 2 petli for
      Dim suma As Integer ' deklaracja sumy na potrzeby zliczania wartości i zwrocenia jej do komórki
      w = Arkusz5.Range("A999999").End(xlUp).Row ' ustalamy ostatni wiersz - czyli ile razy pętla ma być wykonana - tyle razy ile jest pracowników
      For i = 2 To w
      For j = 2 To 33 ' 33 to kolumna z ostatnią datą
      t = Split(Arkusz5.Cells(i, j), "/") ' dzielimy wartość z komórki za pomocą ogranicznika "/". Tutaj zmieniamy go w kodzie na własny
      On Error Resume Next
      suma = suma + (t(1) - t(0)) ' t(1) to drugwa wartość z tablicy, t(0) to pierwsza wartość
      On Error GoTo 0
      Next j
      Arkusz5.Cells(i, 34) = suma ' zwracamy do kolumny 34 (kolejna za ostatnią datą)sumę
      suma = 0 ' zerujemy sumę
      Next i
      End Sub
      Pozdrawiam

    • @Therien72ola
      @Therien72ola ปีที่แล้ว

      @@smartexcel-s.godziszewski co cóż, jesteś mistrzem, działa, pięknie dziękuję! :D

    • @Therien72ola
      @Therien72ola ปีที่แล้ว +1

      @@smartexcel-s.godziszewski jeszcze mam pytanie z formatowaniem warunkowym, konkretnie z tymi kolorami, jakoś dziwnie działa mi to na excel'u, w większości miesięcy nie koloruje mi niektórych dni wolnych, w libre office konkretnie w maju, nie koloruje mi jednej kratki, da się temu jakoś zaradzić? na innych miesiącach w tych samych kratkach koloruje, także zaznaczone jest prawidłowo.

    • @Fushooor
      @Fushooor 5 หลายเดือนก่อน

      ​@@Therien72ola ja mam tak samo
      Niektore miesiace sa w pelni wypelnione kolorami jesli chodzi o weekendy a w niektorych kolor jest tylko do polowy
      Dodatkowo nie moge dodac dni wolnych od swiat, wpisujac formule zamiast FALSE wyskakuje mi jakies ARGH