Excel VBA Dölj kolumner
Dölja är det enkla 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 genom att använda CELLS-egenskapen. Baserat på den metod vi använder behöver vi konstruera vår VBA-kod.
Du kan ladda ner denna Excel-mall för VBA-döljkolumner här - VBA-dölj kolumner för Excel-mallExempel # 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 egenskapen Kolumner är nedanstående kod 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. För detta måste vi nämna den första och den sista kolumnen, så att mellan kolumnen 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 första tre 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 ange 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 en data som liknar nedanstående bild.
Vi måste dölja alla alternativa kolumner som är tomma. För att detta ska hända måste vi använda slingor, nedanstående kod kommer att göra jobbet för oss.
Koda:
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.