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
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
- 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
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 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!
