logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Excel VBA - warunkowe ukrywanie i odkrywanie wierszy

wielgot 28 Gru 2015 13:23 8217 8
REKLAMA
  • #1 15275764
    wielgot
    Poziom 9  
    Posty: 21
    Mam pewien problem, z który sam nie potrafię sobie poradzić. Mam arkusz excela (w załączeniu plik) o nazwie charakterystyka i mam tam pewne zagrozenia, gdzie poprzez pole wybotu zaznaczam "ptaszkiem" czy dano zagrożenie istnieje czy nie. I jeżeli go nie ma, to pewna grupa wierszy musi się ukryć, a jeśli jest to ma się pojawić.
    I tak dla hałasu, gdy jest niezaznaczony, to ukryc ma się grupa wierszy od 6 do 12. I działa mi to pod warunkiem, że recznie wpisuje w tym przypadku w komórce B2 wartość 1 lub 2. Gdy w kodzie VB zmienie odwołanie do komórki C1 w której automatycznie przeskakuje wartość 1 lub 2 w zależności czy hałas jest zaptaszkowany czy nie, to wtedy ukrywanie wierszy lub ich pokazywanie nie działa.

    Proszę o pomoc, by działao to automatycznie po kliknieciu ptaszka zagrozenia hałasem.
    Załączniki:
    • przykład.zip (92.73 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 15276351
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    Private Sub Worksheet_Calculate()
    Rows("6:12").EntireRow.Hidden = Not Range("B1")
    End Sub
    


    Dodano po 56 [sekundy]:

    Private Sub Worksheet_Change(ByVal Target As Range) - nie trzeba
  • REKLAMA
  • #3 16518523
    wielgot
    Poziom 9  
    Posty: 21
    Mam jeszcze jeden problem. Mam plik w którym w kolejnych wierszach prezentowane są dane poszczególnych pracowników. Jak z pomocą VBA doprowadzić do sytuacji, że jeśli w wierszu danego pracownika w kolumnie G pojawi się data zwolnienia to ten wiersz zostanie ukryty?
    Załączniki:
    • przykład lista.zip (6.78 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #4 16518560
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    lub
    Kod: text
    Zaloguj się, aby zobaczyć kod

    lub odpalic dla aktywnego arkusza
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 16518605
    wielgot
    Poziom 9  
    Posty: 21
    Bardzo dziękuje za pomoc. A gdybym chciał by taki wiersz gdy wstawiamy pracownikowi datę zwolnienia nie tylko był ukryty ale przenosił sie do innego arkusza by mieć listę zwolnionych
  • #6 16518684
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #7 18006066
    dl650
    Poziom 2  
    Posty: 2
    Ocena: 3
    Witam,
    czy możliwe jest napisanie takiego kodu żeby po pierwszym kliknięciu na przycisk (wykonany z funkcji "Wstawianie -> Kształty") odkrywał konkretne wiersze a po drugim kliknięciu na ten sam przycisk te same wiersze ukrywał?

    Pozdrawiam
  • #8 18006673
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    Np. dla wierszy od 2 po 7:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #9 18006723
    dl650
    Poziom 2  
    Posty: 2
    Ocena: 3
    Super, bardzo Ci dziękuję:)

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik ma problem z automatycznym ukrywaniem i odkrywaniem wierszy w arkuszu Excel przy użyciu VBA, w zależności od zaznaczenia checkboxa. W odpowiedziach zaproponowano różne podejścia, w tym użycie zdarzenia Worksheet_Calculate oraz Worksheet_Change do ukrywania wierszy od 6 do 12 na podstawie wartości w komórce B1. Dodatkowo, poruszono temat ukrywania wierszy pracowników na podstawie daty zwolnienia w kolumnie G oraz przenoszenia tych wierszy do innego arkusza. Użytkownicy zaproponowali również sposób na toggle (przełączanie) widoczności wierszy za pomocą przycisku.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA