VBA Ukryj kolumny - Jak ukryć kolumny za pomocą kodu VBA?

Spisie treści

Excel VBA Ukryj kolumny

Ukrywanie jest prostą rzeczą, 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 „Ukryty”.

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 przy użyciu właściwości CELLS. W oparciu o metodę, której używamy, musimy skonstruować nasz kod VBA.

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 niekoniecznie jest to wymagane. 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. Musimy wspomnieć o pierwszej i ostatniej kolumnie, aby kolumny między kolumnami również były ukryte. 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 spowodują ukrycie pierwszych trzech kolumn, 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, jak na poniższym obrazku.

We need to hide every alternative column, which is blank. We need to use loops; the below code will do the job for us.

Code:

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, the 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

Teraz zobaczymy, jak ukryć kolumny na podstawie wartości komórki. Na przykład spójrz na poniższe dane.

Tutaj chcę ukryć wszystkie kolumny, jeśli nagłówek to „Nie”. Poniższy kod zrobi to za mnie.

Kod:

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

Po uruchomieniu kodu otrzymasz następujący wynik.

Interesujące artykuły...