VBA Dölj kolumner - Hur döljer jag kolumner med VBA-kod?

Innehållsförteckning

Excel VBA Dölj kolumner

Dölja är en enkel sak, men du måste förstå konceptet här. För att dölja kolumnen med VBA måste vi bestämma vilken kolumn vi behöver dölja. För att ange vilken kolumn som ska döljas måste vi använda RANGE-objektet.

Räckvidd ("A: A")

Då måste vi använda egenskapen "Hela kolumnen."

Område ("A: A"). EntireColumn

I hela kolumnegenskapen måste vi använda egenskapen "Dold".

Område ("A: A"). EntireColumn.Hidden

Sedan måste vi äntligen ställa in den dolda egenskapen till SANT.

Område ("A: A"). EntireColumn.Hidden = SANT

Detta döljer kolumn A.

Hur döljer jag kolumner i VBA?

Vi kan dölja kolumner på flera sätt. Vi kan dölja en kolumn med hjälp av ett Range-objekt med CELLS-egenskapen. Baserat på den metod vi använder måste vi konstruera vår VBA-kod.

Exempel # 1 - Dölj med hjälp av Range Object

Om du vill dölja en viss kolumn anger du kolumnen i RANGE-objektet. Titta på nedanstående data.

Nu döljer vi hela kolumn A med följande kod.

Koda:

Sub Range_Hide () Range ("A: A"). EntireColumn.Hidden = True End Sub

Så när vi kör koden får vi följande resultat.

Exempel # 2 - Dölj med kolumnegenskap

Om du vill dölja kolumnen med kolumneregenskapen är koden nedan för dig.

Koda:

Sub Range_Hide () Kolumner ("B"). Hidden = True End Sub

Detta kommer att dölja kolumn B. Här måste du tänka var egenskapen Hela kolumnen är. När du använder egenskapen Kolumner är det inte nödvändigt att använda hela egenskapen Kolumn.

Vi kan fortfarande använda hela kolumnegenskapen men inte nödvändigtvis. Och kod för detsamma ges nedan.

Koda:

Underkolumner_Dölj () kolumner ("B"). EntireColumn.Hidden = True End Sub

Detta borde också fungera bra.

Vi kan också använda kolumnnumret istället för alfabetisk referens. Och kod för detsamma ges nedan.

Koda:

Underkolumner_Göm () Kolumner (4) .EntireColumn.Hidden = True End Sub

Detta döljer kolumn D.

Exempel # 3 - Dölj flera kolumner

Vi kan också dölja flera kolumner åt gången. Vi måste nämna den första och den sista kolumnen så att mellan kolumner också kommer att döljas. För samma data som exempel # 1, använd följande kod för att dölja flera kolumner.

Koda:

Sub Columns_Hide () Range ("A: C"). EntireColumn.Hidden = True End Sub

Detta döljer kolumn A till C.

Vi kan också använda följande kod för att dölja flera kolumner i Excel VBA.

Koda:

Sub Multi_Column_Hide () Kolumner ("A: C"). EntireColumn.Hidden = True End Sub

Ovanstående metoder döljer de tre första kolumnerna, dvs. A, B och C.

Exempel # 4 - Dölj kolumner med en cell

Vi kan också dölja en kolumn baserat på en enda cellreferens. Vi behöver inte ge hela kolumnreferensen för att dölja kolumnen. Med bara en enda cellreferens borde vi kunna dölja en kolumn.

Koda:

Sub Single_Hide () Range ("A5"). EntireColumn.Hidden = True End Sub

Detta döljer hela kolumn A.

Exempel # 5 - Dölj alla alternativa kolumner

Antag att du har data, ungefär som bilden nedan.

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

Nu kommer vi att se hur man döljer kolumner baserat på cellvärdet. Titta till exempel på nedanstående data.

Här vill jag dölja alla kolumner om rubriken är ”Nej”. Koden nedan gör det för mig.

Koda:

Underkolumn_Hide_Cell_Value () Dim k som heltal För k = 1 till 7 Om celler (1, k) .Value = "Nej" Då kolumner (k). Dold = True End Om nästa k End Sub

När du kör koden får du resultatet enligt följande.

Intressanta artiklar...