VBA Ukryj kolumny

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 Excel

Przykł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.