Note: The other languages of the website are Google-translated. Back to English

Jak ukryć kolumny w czasie rzeczywistym na podstawie danych wprowadzonych przez użytkownika w programie Excel?

Ukrywanie kolumn w programie Excel może być typowym zadaniem dla większości z nas, ale czy kiedykolwiek próbowałeś automatycznie ukryć kolumny na podstawie określonych wartości wejściowych? Na przykład, gdy wpisuję tekst „AA” w komórce, kolumna A jest ukryta; kiedy wpisuję „BB”, kolumny B i C są ukryte; przy wpisywaniu „CC” kolumny D i E są ukryte; podczas wpisywania „DD” kolumna F jest ukryta, jak pokazano poniżej. W tym artykule utworzymy kod VBA do rozwiązania go w programie Excel.

Ukryj lub odkryj kolumny w czasie rzeczywistym na podstawie danych wprowadzonych przez użytkownika za pomocą kodu VBA

Ukryj lub odkryj kolumny, aby filtrować dane na podstawie danych wprowadzonych przez użytkownika za pomocą kodu VBA


Ukryj lub odkryj kolumny w czasie rzeczywistym na podstawie danych wprowadzonych przez użytkownika za pomocą kodu VBA

Aby ukryć określone kolumny w czasie rzeczywistym na podstawie wartości wejściowych, zastosuj poniższy kod VBA:

1. W arkuszu, w którym chcesz ukryć kolumny, kliknij prawym przyciskiem myszy kartę arkusza, a następnie kliknij Wyświetl kod z menu kontekstowego, patrz zrzut ekranu

2. W otwartym Microsoft Visual Basic for Applications okno, skopiuj i wklej następujący kod VBA w Arkusz (kod) okno.

Kod VBA: Ukryj kolumny w czasie rzeczywistym na podstawie danych wprowadzonych przez użytkownika

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Uwagi: W powyższym kodzie, K1 to komórka, w której wpisujesz określony tekst i powinieneś zmienić teksty i nazwy kolumn zgodnie z potrzebami. Ponadto możesz dodać inne nowe kryteria, po prostu dodając poniższe skrypty:
  • Wielkość liter "AA": Columns("A").EntireColumn.Hidden = False
  • Columns("A").EntireColumn.Hidden = Prawda

3. Następnie zamknij okno kodu. Teraz, po wpisaniu „AA” w komórce K1 i naciśnij Wchodzę klucz, kolumna A jest ukryta; podczas wpisywania „BB” i naciśnij Wchodzę klucz, kolumny B i C są ukryte i tak dalej. Jeśli wprowadzisz inną wartość lub usuniesz zawartość, ukryte kolumny zostaną wyświetlone od razu, zobacz poniżej demo:


Ukryj lub odkryj kolumny, aby filtrować dane na podstawie danych wprowadzonych przez użytkownika za pomocą kodu VBA

W tym przykładzie przejdę do filtrowania zakresu danych na podstawie wprowadzonej nazwy produktu. Kiedy wchodzę w „Bluza z kapturem”, wyświetlane są tylko informacje o bluzie z kapturem, a inne kolumny zostaną jednocześnie ukryte; a kiedy wpiszę „Wszystkie”, wszystkie kolumny zostaną wyświetlone tak, jak pokazano poniżej:

1. W arkuszu, w którym chcesz ukryć kolumny, kliknij prawym przyciskiem myszy kartę arkusza, a następnie kliknij Wyświetl kod z menu kontekstowego, zobacz zrzut ekranu:

2. W otwartym Microsoft Visual Basic for Applications okno, skopiuj i wklej następujący kod VBA w Arkusz (kod) okno.

Kod VBA: Ukryj lub odkryj kolumny, aby filtrować dane na podstawie danych wprowadzonych przez użytkownika

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Uwagi: W powyższym kodzie, K1 to komórka, w której wpisujesz konkretny tekst, B1: H1 to nagłówki wierszy zawierające nazwę produktu, który chcesz filtrować.

3. Następnie zamknij okno kodu. Teraz, jeśli wprowadzisz nazwę produktu do komórki K1, zostaną wyświetlone tylko odpowiednie kolumny, druga zostanie ukryta; a jeśli wpiszesz tekst „Wszystkie”, wszystkie kolumny pojawią się tak, jak pokazano poniżej:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (0)
Brak ocen. Oceń jako pierwszy!
Nie ma tu jeszcze żadnych komentarzy
Prosimy o pozostawienie komentarzy w języku angielskim
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL