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 - Odkrywanie kolumn na podstawie ilości dni w miesiącu

07 Cze 2020 08:58 204 10
  • Poziom 23  
    Witam.
    Proszę o pomoc w zmodernizowaniu poniższego kodu. Kod działa poprawnie, odkrywa lub ukrywa kolumny na podstawie wyniku z wiersza Cells(2, i). Kod dotyczy odkrywania i ukrywania 31 kolumn (31 dni). W moim przypadku są to kolumny od E do AI, każda kolumna to kolejny dzień miesiąca. Proszę o pomoc w zmodernizowaniu kodu tak by otwierał lub ukrywał kolumny w zależności od ilości dni w danym miesiącu i zawsze -1, czyli jeżeli dziś jest 7 dzień miesiąca to mają się odkryć kolumny do wczorajszego dnia, czyli 6 kolumn. Proszę o pomoc

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    Poziom 38  
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 23  
    I znowu mogłem powiedzieć o czymś o czym nie pomyślałem. Jak już wspomniałem w moim pliku korzystam z pomocniczego wiersza z którego kod pobiera dane a dokładnie to:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    ...chciałbym zrezygnować z tego pomocniczego wiersza, bo z nim nie muszę nic zmieniać w moim kodzie. W tym pomocniczym wierszu w komórkach są wzorce które w danym dniu który już był wpisuje się 1 a w dniach których jeszcze nie było komórka jest pusta. W komórkach w drugim wierszu są takie wzorce jak poniżej ale ja chcę z nich zrezygnować dlatego chciałem zmodernizować kod tak aby nie brał pod uwagę tego wiersza i bez niego odpowiednio ukrywał albo otwierał kolumny:

    Kod: tex
    Zaloguj się, aby zobaczyć kod
  • Poziom 38  
    Cytat:
    Jak już wspomniałem w moim pliku korzystam z pomocniczego wiersza

    Gdzie wspomniałeś?
    Napisz więc od początku co chcesz osiągnąć.
  • Poziom 23  
    Chodzi dokładnie o ukrywanie i odkrywanie kolumn od E do AI kolumny 5-35) gdzie kolumn E to 1 a kolumna AI to 31 czyli 31 dni, i kod ma odpowiednio odkryć lub zakryć kolumny na podstawie aktualnego dnia w miesiącu zawsze -1, czyli jeżeli dziś jest 7 to ma się odkryć 6 kolumny od E do J (kolumny 5-10), pozostałe kolumny mają być ukryte
  • Pomocny post
    Poziom 38  
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Rozumiem, że kolumny A:D nie mają być ukryte.
  • Poziom 23  
    Tak, dokładnie, kolumny 1-4 nie mają być brane pod uwagę. Kod działa wyśmienicie ale jest mały błąd, w tym miesiącu jest 30 dni i kod nie bierze pod uwagę kolumny AI (kolumna 35), kolumna jest odkryta, jak to ugryźć?

    Excel - Odkrywanie kolumn na podstawie ilości dni w miesiącu
  • Poziom 38  
    Jak ma ukryć kolumnę odpowiadającą 31 dniowi, skoro czerwiec ma 30 dni?
    Jak będzie nieprzestępny rok, luty, to w arkuszu też masz 31 dni?
  • Poziom 23  
    Rozumiem co mówisz ale muszę mieć ukryte te kolumny z dniami których nie ma nawet w danym miesiącu, więc jak w przypadku Twojego kodu są odkryte kolumny od 5 do 10, ale reszta kolumn musi być ukryta, nawet ta 35 (czyli 31 dzień) i te 32-35 w lutym tak samo. Moja tabela jak jest cała odkryta wygląda tak:

    Excel - Odkrywanie kolumn na podstawie ilości dni w miesiącu

    ...więc kod musi wziąć pod uwagę kolumny od 32-35 nawet jeżeli w danym miesiącu nie ma tych dni
  • Pomocny post
    Poziom 38  
    Myślałem, że tyle to sobie sam zmienisz.;)

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Niepotrzebnie w #1 piszesz o ostatnim dniu miesiąca, skoro w arkuszu dla każdego miesiąca masz 31 kolumn...
  • Poziom 23  
    Dzięki, nie sądziłem że mogę to tam zmienić a nawet nie spróbowałem :)