VBA Amaga les columnes | Com amagar les columnes mitjançant el codi VBA?

Amaga les columnes VBA d'Excel

Amagar és el més senzill, però cal entendre el concepte aquí. Per amagar la columna mitjançant VBA, hem de determinar quina columna hem d'amagar. Per especificar la columna que cal amagar, hem d’utilitzar l’objecte RANGE.

Rang ("A: A")

A continuació, hem d'utilitzar la propietat "Columna sencera".

Rang ("A: A"). EntireColumn

A tota la propietat de la columna, hem d'utilitzar la propietat "Oculta".

Rang ("A: A"). EntireColumn.Hidden

Aleshores, finalment, hem d’establir la propietat oculta a TRUE.

Rang ("A: A"). EntireColumn.Hidden = TRUE 

Això amagarà la columna A.

Com amagar les columnes a VBA?

Podem amagar columnes de diverses maneres. Podem amagar una columna mitjançant un objecte Range, mitjançant la propietat CELLS. Basant-nos en el mètode que fem servir, hem de construir el nostre codi VBA.

Podeu descarregar aquesta plantilla Excel VBA Hide Columns aquí - Plantilla Excel VBA Hide Columns

Exemple # 1: amaga-ho amb l'objecte Range

Si voleu amagar una columna concreta, especifiqueu la columna dins de l'objecte RANGE. Mireu les dades següents.

Ara amagarem tota la columna A mitjançant el següent codi.

Codi:

 Sub Range_Hide () Range ("A: A"). EntireColumn.Hidden = Sub finalitat veritable 

Així, quan executem el codi, obtindrem el següent resultat.

Exemple 2: ocultar-lo mitjançant la propietat Columns

Si voleu amagar la columna mitjançant la propietat Columnes, a continuació, el codi següent és per a vosaltres.

Codi:

 Sub Gamma_Oculta () Columnes ("B"). Oculta = Sub finalitat vertadera 

Això amagarà la columna B. Aquí heu de pensar on es troba la propietat de la columna sencera. Quan utilitzeu la propietat Columns no és necessari utilitzar la propietat Column sencer.

Encara podem utilitzar la propietat de la columna sencera, però no necessàriament necessària. I el codi corresponent es dóna a continuació.

Codi:

 Sub Columns_Hide () Columns ("B"). EntireColumn.Hidden = Sub finalitat veritable 

Això també hauria de funcionar bé.

També podem utilitzar el número de columna en lloc de la referència alfabètica. I el codi corresponent es dóna a continuació.

Codi:

 Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = Sub finalitat veritable 

Això amagarà la columna D.

Exemple # 3: amaga diverses columnes

També podem amagar diverses columnes alhora. Per a això, hem d'esmentar la primera i l'última columna, de manera que entre les columnes també s'ocultaran. Per a les mateixes dades de l'exemple 1, utilitzeu el codi següent per amagar diverses columnes.

Codi:

 Sub Columns_Hide () Range ("A: C"). EntireColumn.Hidden = Sub finalitat veritable 

Això amagarà les columnes A a C.

També podem utilitzar el codi següent per amagar diverses columnes a Excel VBA.

Codi:

 Sub Multi_Columns_Hide () Columns ("A: C"). EntireColumn.Hidden = Sub finalitat veritable 

Els mètodes anteriors amagaran les tres primeres columnes, és a dir, A, B i C.

Exemple # 4: amaga les columnes amb una sola cel·la

També podem ocultar una columna basada en una referència de cel·la única. No necessitem donar la referència completa de la columna per amagar-la. Amb només una referència de cel·la, hauríem de poder amagar una columna.

Codi:

 Sub Single_Hide () Range ("A5"). EntireColumn.Hidden = Sub finalitat veritable 

Això amagarà tota la columna A.

Exemple # 5: amaga totes les columnes alternatives

Suposem que teniu dades semblants a la imatge següent.

Hem d’amagar totes les columnes alternatives que estan en blanc. Perquè això passi, hem d’utilitzar bucles, a sota del codi ens farà la feina.

Codi:

 Sub AlternativeColumn_Hide () Dim k com enter Per a k = 1 a 7 cel·les (1, k + 1). EntireColumn.Hidden = True k = k + 1 Següent k Finalitzar sub 

Això amagarà totes les columnes alternatives.

Exemple # 6: amaga totes les columnes buides

A l'exemple anterior, totes les altres columnes alternatives estaven en blanc, les hem amagat fàcilment. Però mireu les dades següents.

Aquí el patró de columnes buides no és estàndard. En aquests casos, a continuació, el codi amagarà totes les columnes buides, no importa quin sigui el patró.

Codi:

 Sub Column_Hide1 () Dim k Integer for k = 1 to 11 If Cells (1, k) .Value = "" Then Columns (k) .Hidden = True End If Next k End Sub 

Quan executeu el codi, obtindreu el resultat de la manera següent.

Exemple núm. 7: amaga les columnes segons el valor de la cel·la

Ara veurem com amagar la columna en funció del valor de la cel·la. Per obtenir un exemple, mireu les dades següents.

Aquí vull amagar totes les columnes si el títol és "No". A sota del codi ho faré per mi.

Codi:

 Sub Column_Hide_Cell_Value () Dim k Integer for k = 1 to 7 If Cells (1, k) .Value = "No" then Columns (k) .Hidden = True End If Next k End Sub 

Quan executeu el codi, obtindreu el resultat de la manera següent.