Excel VBA-Spalten ausblenden
Verstecken ist die einfache Sache, aber Sie müssen das Konzept hier verstehen. Um die Spalte mit VBA auszublenden, müssen wir bestimmen, welche Spalte ausgeblendet werden soll. Um die auszublendende Spalte anzugeben, müssen Sie das RANGE-Objekt verwenden.
Bereich ("A: A")
Dann müssen wir die Eigenschaft "Ganze Spalte" verwenden.
Bereich ("A: A"). EntireColumn
In der gesamten Spalteneigenschaft müssen wir die Eigenschaft "Hidden" verwenden.
Bereich ("A: A"). EntireColumn.Hidden
Dann müssen wir endlich die Hidden-Eigenschaft auf TRUE setzen.
Bereich ("A: A"). EntireColumn.Hidden = TRUE
Dadurch wird Spalte A ausgeblendet.
Wie verstecke ich Spalten in VBA?
Wir können Spalten auf verschiedene Arten ausblenden. Wir können eine Spalte mithilfe eines Range-Objekts und mithilfe der CELLS-Eigenschaft ausblenden. Basierend auf der von uns verwendeten Methode müssen wir unseren VBA-Code erstellen.
Sie können diese Excel-Vorlage für VBA-Spalten ausblenden hier herunterladen - Excel-Vorlage für VBA-Spalten ausblendenBeispiel 1 - Mit Bereichsobjekt ausblenden
Wenn Sie eine bestimmte Spalte ausblenden möchten, geben Sie die Spalte im RANGE-Objekt an. Schauen Sie sich die folgenden Daten an.
Jetzt werden wir die gesamte Spalte A mit dem folgenden Code ausblenden.
Code:
Sub Range_Hide () Range ("A: A"). EntireColumn.Hidden = True End Sub
Wenn wir also den Code ausführen, erhalten wir das folgende Ergebnis.
Beispiel 2 - Ausblenden mit der Columns-Eigenschaft
Wenn Sie die Spalte mithilfe der Columns-Eigenschaft ausblenden möchten, ist der folgende Code genau das Richtige für Sie.
Code:
Sub Range_Hide () Spalten ("B"). Hidden = True End Sub
Dadurch wird Spalte B ausgeblendet. Hier müssen Sie überlegen, wo sich die Eigenschaft Gesamte Spalte befindet. Wenn Sie die Columns-Eigenschaft verwenden, ist es nicht erforderlich, die Entire Column-Eigenschaft zu verwenden.
Wir können die Eigenschaft "Gesamte Spalte" weiterhin verwenden, dies ist jedoch nicht unbedingt erforderlich. Und der Code dafür ist unten angegeben.
Code:
Sub Columns_Hide () Columns ("B"). EntireColumn.Hidden = True End Sub
Dies sollte auch gut funktionieren.
Wir können auch die Spaltennummer anstelle der alphabetischen Referenz verwenden. Und der Code dafür ist unten angegeben.
Code:
Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = True End Sub
Dadurch wird die Spalte D ausgeblendet.
Beispiel 3 - Mehrere Spalten ausblenden
Wir können auch mehrere Spalten gleichzeitig ausblenden. Dazu müssen wir die erste und die letzte Spalte erwähnen, damit auch die dazwischen liegende Spalte ausgeblendet wird. Verwenden Sie für dieselben Daten wie in Beispiel 1 den folgenden Code, um mehrere Spalten auszublenden.
Code:
Sub Columns_Hide () Range ("A: C"). EntireColumn.Hidden = True End Sub
Dadurch werden die Spalten A bis C ausgeblendet.
Wir können auch den folgenden Code verwenden, um mehrere Spalten in Excel VBA auszublenden.
Code:
Sub Multi_Columns_Hide () Spalten ("A: C"). EntireColumn.Hidden = True End Sub
Die obigen Methoden verbergen die ersten drei Spalten, dh A, B und C.
Beispiel 4 - Spalten mit Einzelzelle ausblenden
Wir können auch eine Spalte basierend auf einer einzelnen Zellreferenz ausblenden. Wir müssen nicht die vollständige Spaltenreferenz angeben, um die Spalte auszublenden. Mit nur einer einzigen Zellreferenz sollten wir in der Lage sein, eine Spalte auszublenden.
Code:
Sub Single_Hide () Range ("A5"). EntireColumn.Hidden = True End Sub
Dadurch wird die gesamte Spalte A ausgeblendet.
Beispiel 5 - Jede alternative Spalte ausblenden
Angenommen, Sie haben Daten wie das folgende Bild.
Wir müssen jede alternative Spalte ausblenden, die leer ist. Dazu müssen wir Schleifen verwenden. Der folgende Code erledigt die Aufgabe für uns.
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 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.