VBA Nascondi colonne

Excel VBA Nascondi colonne

Nascondersi è la cosa semplice, ma è necessario comprendere il concetto qui. Per nascondere la colonna usando VBA, dobbiamo determinare quale colonna dobbiamo nascondere. Per specificare la colonna da nascondere dobbiamo utilizzare l'oggetto RANGE.

Intervallo ("A: A")

Quindi dobbiamo utilizzare la proprietà "Intera colonna".

Intervallo ("A: A"). Intera colonna

Nella proprietà dell'intera colonna, dobbiamo utilizzare la proprietà "Hidden".

Intervallo ("A: A"). InteraColonna.Hidden

Quindi, finalmente, dobbiamo impostare la proprietà Hidden su TRUE.

Intervallo ("A: A"). InteraColonna.Hidden = TRUE 

Questo nasconderà la colonna A.

Come nascondere le colonne in VBA?

Possiamo nascondere le colonne in diversi modi. Possiamo nascondere una colonna usando un oggetto Range, usando la proprietà CELLS. In base al metodo che utilizziamo, dobbiamo costruire il nostro codice VBA.

Puoi scaricare questo modello Excel per nascondere le colonne VBA qui - Modello Excel per nascondere le colonne VBA

Esempio n. 1 - Nascondi utilizzando Range Object

Se desideri nascondere una particolare colonna, specifica la colonna all'interno dell'oggetto RANGE. Guarda i dati sottostanti.

Ora nasconderemo l'intera colonna A usando il seguente codice.

Codice:

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

Quindi, quando eseguiamo il codice, otterremo il seguente risultato.

Esempio n. 2: nascondere utilizzando la proprietà Columns

Se vuoi nascondere la colonna usando la proprietà Columns, il codice sottostante è per te.

Codice:

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

Questo nasconderà la colonna B. Qui devi pensare dove si trova la proprietà Intera colonna. Quando si utilizza la proprietà Columns, non è necessario utilizzare la proprietà Intera colonna.

Possiamo ancora usare la proprietà Intera colonna ma non necessariamente richiesta. E il codice per lo stesso è fornito di seguito.

Codice:

 Sub Columns_Hide () Colonne ("B"). InteraColonna.Hidden = True End Sub 

Anche questo dovrebbe funzionare bene.

Possiamo anche usare il numero di colonna invece del riferimento alfabetico. E il codice per lo stesso è fornito di seguito.

Codice:

 Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = True End Sub 

Questo nasconderà la colonna D.

Esempio n. 3: nascondere più colonne

Possiamo anche nascondere più colonne alla volta. Per questo, dobbiamo menzionare la prima e l'ultima colonna, in modo che anche le colonne tra saranno nascoste. Per gli stessi dati dell'esempio n. 1, utilizzare il codice seguente per nascondere più colonne.

Codice:

 Sub Columns_Hide () Intervallo ("A: C"). InteraColonna.Hidden = True End Sub 

Questo nasconderà le colonne da A a C.

Possiamo usare anche il seguente codice per nascondere più colonne in Excel VBA.

Codice:

 Colonne Sub Multi_Columns_Hide () ("A: C"). InteraColonna.Hidden = True End Sub 

I metodi precedenti nascondono le prime tre colonne, ovvero A, B e C.

Esempio # 4 - Nascondi colonne con cella singola

Possiamo anche nascondere una colonna in base a un singolo riferimento di cella. Non è necessario fornire il riferimento completo alla colonna per nascondere la colonna. Con un solo riferimento di cella dovremmo essere in grado di nascondere una colonna.

Codice:

 Intervallo Sub Single_Hide () ("A5"). InteraColonna.Hidden = True End Sub 

Questo nasconderà l'intera colonna A.

Esempio # 5: nascondi ogni colonna alternativa

Supponi di avere un dato simile all'immagine sottostante.

Dobbiamo nascondere ogni colonna alternativa che è vuota. Affinché ciò avvenga, dobbiamo utilizzare i loop, il codice seguente farà il lavoro per noi.

Codice:

 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.