Excel VBA Ukryj kolumny
Ukrywanie jest proste, ale musisz zrozumieć tę koncepcję. Aby ukryć kolumnę za pomocą VBA, musimy określić, którą kolumnę musimy ukryć. Aby określić kolumnę, która ma być ukryta, musimy użyć obiektu RANGE.
Zakres („A: A”)
Następnie musimy użyć właściwości „Cała kolumna”.
Zakres („A: A”). Cała kolumna
W całej właściwości kolumny musimy użyć właściwości „Hidden”.
Zakres („A: A”). Cała kolumna.Ukryta
W końcu musimy ustawić właściwość Hidden na TRUE.
Zakres („A: A”). EntireColumn.Hidden = TRUE
Spowoduje to ukrycie kolumny A.
Jak ukryć kolumny w VBA?
Możemy ukryć kolumny na kilka sposobów. Możemy ukryć kolumnę za pomocą obiektu Range, używając właściwości CELLS. W oparciu o metodę, której używamy, musimy skonstruować nasz kod VBA.
Możesz pobrać ten szablon VBA Ukryj kolumny Excel tutaj - VBA Ukryj kolumny Szablon programu ExcelPrzykład 1 - Ukryj za pomocą Range Object
Jeśli chcesz ukryć konkretną kolumnę, określ ją wewnątrz obiektu RANGE. Spójrz na poniższe dane.
Teraz ukryjemy całą kolumnę A za pomocą następującego kodu.
Kod:
Sub Range_Hide () Range („A: A”). EntireColumn.Hidden = True End Sub
Więc kiedy uruchomimy kod, otrzymamy następujący wynik.
Przykład # 2 - Ukryj za pomocą właściwości Columns
Jeśli chcesz ukryć kolumnę za pomocą właściwości Columns, poniższy kod jest dla Ciebie.
Kod:
Sub Range_Hide () Columns („B”). Hidden = True End Sub
Spowoduje to ukrycie kolumny B. Tutaj musisz pomyśleć, gdzie jest właściwość Cała kolumna. W przypadku korzystania z właściwości Columns nie jest konieczne używanie właściwości Entire Column.
Nadal możemy używać właściwości Entire Column, ale nie jest to konieczne. Kod na to samo podano poniżej.
Kod:
Sub Columns_Hide () Columns („B”). EntireColumn.Hidden = True End Sub
To również powinno działać dobrze.
Możemy również użyć numeru kolumny zamiast odniesienia alfabetycznego. Kod na to samo podano poniżej.
Kod:
Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = True End Sub
Spowoduje to ukrycie kolumny D.
Przykład # 3 - Ukryj wiele kolumn
Jednocześnie możemy ukryć wiele kolumn. W tym celu musimy wspomnieć o pierwszej i ostatniej kolumnie, aby kolumna między nimi również została ukryta. W przypadku tych samych danych co w przykładzie 1 użyj poniższego kodu, aby ukryć wiele kolumn.
Kod:
Sub Columns_Hide () Range („A: C”). EntireColumn.Hidden = True End Sub
Spowoduje to ukrycie kolumn od A do C.
Możemy również użyć następującego kodu, aby ukryć wiele kolumn w Excel VBA.
Kod:
Sub Multi_Columns_Hide () Columns („A: C”). EntireColumn.Hidden = True End Sub
Powyższe metody ukryją pierwsze trzy kolumny, tj. A, B i C.
Przykład # 4 - Ukryj kolumny z pojedynczą komórką
Możemy również ukryć kolumnę na podstawie pojedynczego odwołania do komórki. Nie musimy podawać pełnego odwołania do kolumny, aby ją ukryć. Mając tylko jedno odwołanie do komórki, powinniśmy być w stanie ukryć kolumnę.
Kod:
Sub Single_Hide () Range („A5”). EntireColumn.Hidden = True End Sub
Spowoduje to ukrycie całej kolumny A.
Przykład # 5 - Ukryj każdą alternatywną kolumnę
Załóżmy, że masz dane podobne do poniższego obrazu.
Musimy ukryć każdą alternatywną kolumnę, która jest pusta. Aby tak się stało, musimy użyć pętli, poniższy kod zrobi to za nas.
Kod:
Sub AlternativeColumn_Hide() Dim k As Integer For k = 1 To 7 Cells(1, k + 1).EntireColumn.Hidden = True k = k + 1 Next k End Sub
This will hide every alternate column.
Example #6 – Hide Every Empty Column
In the previous example every other alternative column was blank we have hidden easily. But look at the below data.
Here empty columns pattern is not standard. In these cases below code will hide all the empty columns, it doesn’t matter what the pattern is.
Code:
Sub Column_Hide1() Dim k As Integer For k = 1 To 11 If Cells(1, k).Value = "" Then Columns(k).Hidden = True End If Next k End Sub
When you run the code you will get the result as follows.
Example #7 – Hide Columns Based On Cell Value
Now we will see how to hide column based on the cell value. For an example look at the below data.
Here I want to hide all the columns if the heading is “No”. Below code will do it for me.
Code:
Sub Column_Hide_Cell_Value() Dim k As Integer For k = 1 To 7 If Cells(1, k).Value = "No" Then Columns(k).Hidden = True End If Next k End Sub
When you run the code you will get the result as follows.