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