Przejdź do głównej zawartości

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
Note: 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
Note: 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

Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

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!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations