Codi VBA per filtrar dades a Excel (8 exemples)

  • Comparteix Això
Hugh West

Excel Ordenar i amp; L'ordre de filtre té un rang limitat a Filtrar dades . Però utilitzant VBA podeu Filtrar dades en una àmplia gamma com vulgueu. Aquest article us proporcionarà 8 exemples útils per utilitzar codi VBA per Filtrar dades a Excel mitjançant codis VBA amb il·lustracions vívides.

Descarregueu el quadern de pràctiques

Podeu baixar la plantilla gratuïta d'Excel des d'aquí i practicar pel vostre compte.

Codi VBA per filtrar dades.xlsm

8 exemples per utilitzar codi VBA per filtrar dades a Excel

Primer anem a presentar-nos al nostre conjunt de dades que representa el gènere, l'estat i l'estat d'alguns estudiants. Edat .

1. Utilitzeu codi VBA per filtrar dades basades en criteris de text a Excel

En el nostre primer exemple, utilitzarem VBA per Filtrar només Estudiants masculins de la columna Gènere del conjunt de dades.

Pasos:

  • Feu clic amb el botó dret al títol del full .
  • A continuació, seleccioneu Visualitza el codi al menú contextual .

Aviat després, s'obrirà una finestra VBA .

  • Escriviu els codis següents it-
6863
  • Més tard, minimitza el VBA

Desglossament del codi

  • Aquí, vaig crear un procediment Sub , Filter_Data_Text() .
  • A continuació, vaig utilitzar el Range propietat per declarar el nostre respectiu nom del full i interval
  • A continuació, vaig utilitzar el mètode de filtre automàtic per utilitzar Criteri de la meva elecció, on Camp:=2 significa columna 2 . I Criteria1:=”Masculí” per Filtrar les dades de Masculí.
  • Després, a obre el quadre de diàleg Macros , feu clic a com segueix: Desenvolupador > Macros.

  • Seleccioneu el nom de la macro tal com s'esmenta als codis .
  • Finalment, només prem Executar .

Ara mireu que només tenim Dades dels estudiants masculins després de Filtrer .

Llegir més: Dades del filtre d'Excel basades en Valor de la cel·la (6 maneres eficients)

2. Apliqueu codi VBA per filtrar dades amb diversos criteris en una columna

Aquí, Filtrarem per a diversos criteris en una columna. A la columna número tres del conjunt de dades, Filtrarem per a estudiants de grau i estudiants de postgrau .

Passos:

  • Seguiu els dos primers passos del primer exemple per obrir la finestra VBA .
  • Més endavant, escriviu els codis següents:
3648
  • A continuació, minimitzeu el VBA

Desglossament del codi

  • Aquí, he creat un procediment Sub , Filter_One_Column() .
  • A continuació, va utilitzar la propietat Range per declarar els nostres respectius nom del full i interval
  • A continuació, vaig utilitzar elMètode de filtre automàtic per utilitzar el Criteri que trieu, on Camp:=3 significa columna 3 . Aquí, Criteria1:=”Graduat” i Criteri2:=”Postgrau” per Filtrar l' Estat de l'estudiant.
  • Finalment, vaig utilitzar Operator:=xlOr per aplicar la OR condició Filtre per a diversos criteris.
  • En aquest cas moment, seguiu el tercer pas del primer exemple per obrir el quadre de diàleg Macros quadre .
  • Més tard, seleccioneu el nom de la macro especificat i premu Executar .

Poc després, obtindreu les files filtrades en funció de diversos criteris com la imatge següent.

Llegir més: Filtrar diversos criteris a Excel (4 maneres adequades)

3. Apliqueu codi VBA per filtrar dades amb diversos criteris en diferents columnes a Excel

Ara Filtrarem per a diversos criteris: Masculí i Graduat alumnes.

Passos:

  • Seguiu els dos primers passos del primer exemple per obriu el VBA
  • Més tard, escriviu els codis següents-
9313
  • Després que minimitzi la finestra VBA .

Desglossament del codi

  • Aquí, vaig crear un procediment Sub , Filter_Different_Columns() .
  • A continuació, vaig utilitzar la instrucció Amb per utilitzar Columna múltiple .
  • A continuació, s'utilitza l' Interval propietat per declarar els nostres respectius nom del full i interval
  • A continuació, he utilitzat el mètode de filtre automàtic per utilitzar Criteri de la meva elecció on Field:=2 significa columna 2 i Field:=3 significa columna 3 .
  • Aquí , seleccionat Criteria1:="Home" per a la columna Gènere i Criteri1:="Graduat" per a la columna Estat per a Filtrar dades de diferents columnes .
  • A continuació seguiu el tercer pas del primer exemple per obrir el Quadre de diàleg Macros .
  • Més tard, seleccioneu el nom de la macro especificat i premu Executar .

Aquí teniu la sortida dels múltiples criteris.

Llegir més: Excel VBA per filtrar a la mateixa columna per criteris múltiples (6 exemples)

4. Utilitzeu el codi VBA per filtrar els 3 elements principals a Excel

En aquest exemple, filtrarem els tres estudiants principals segons la seva edat .

Passos:

  • Seguiu els dos primers passos del primer exemple per obrir la finestra de VBA .
  • A continuació escriviu els codis següents:
2283
  • Després minimitzeu el Finestra VBA .

Desglossament del codi

  • Aquí, jo va crear un procediment Sub , Filter_Top3_Items() .
  • I després va utilitzar Operator:=xlTop10Items a Filter per a els tres primers dades .
  • Ara seguiu el tercer pas del primer exemple per obrir el Quadre de diàleg de macros .
  • A continuació, seleccioneu el nom de la macro tal com s'esmenta als codis i prem Executar .

A continuació, obtindreu la sortida com la imatge següent-

Llegir més: Com filtrar segons el valor de la cel·la mitjançant Excel VBA (4 mètodes)

Lectures similars

  • Com copiar i enganxar quan El filtre s'aplica a Excel
  • Com filtrar valors únics a Excel (8 maneres senzilles)
  • Filtrar diversos criteris a Excel amb VBA (tots dos Tipus AND i OR)
  • Com utilitzar el filtre de text a Excel (5 exemples)
  • Com filtrar per data a Excel (4 ràpids) Mètodes)

5. Utilitzeu codi VBA per filtrar els 50 percentatges principals a Excel

Utilitzem codis VBA per filtrar el cinquanta per cent superior dels estudiants en funció de la seva edat .

Passos:

  • Primer, Seguiu els dos primers passos del primer exemple per obrir la finestra VBA .
  • Més tard, escriviu els codis següents:
8704
  • Minimitza la finestra VBA .

Desglossament del codi

  • Aquí he creat un procediment Sub , Filter_Top50_Percent() .
  • Més tard, s'ha utilitzat Operator:=xlTop10Percent a Filtreu el cinquanta per cent superior de columna-4 .
  • En aquest moment, seguiu el tercer pas del primer exemple per obrir el Quadre de diàleg Macros.
  • A continuació seleccioneu el nom de la macro especificat i prem Executar .

Hi havia un total de 7 estudiants , de manera que per al 50 per cent , es mostra aproximadament tres estudiants .

Llegir més: Com utilitzar la fórmula de percentatge de beneficis a Excel (3 exemples)

6 . Apliqueu codi VBA per filtrar dades amb comodí

Podem utilitzar Caràcters comodí-* (asterisc) a Codis VBA per filtrar dades a Excel. A la columna Estat , filtrarem només els valors que continguin "Publicació" .

Passos:

  • Seguiu els dos primers passos del primer exemple per obrir la finestra VBA .
  • A continuació, escriviu els codis següents:
5195
  • Més endavant, minimitzeu la finestra VBA .

Desglossament del codi

  • Aquí, he creat un procediment Sub , Filter_with_Wildcard() .
  • A continuació, s'utilitza Range (“B4”) per definir l'interval.
  • Següent , utilitza Filtra automàticament a Filtra al camp :=3 significa la columna 3.
  • Criteri1:=”*Publicació *” per Filtrar els valors que contenen "Publicació".
  • Ara seguiu el tercer pas des del primer exemple per obrir el diàleg Macrosquadre.
  • Seleccioneu el nom de la macro especificat i premu Executar .

A continuació, obtindreu la sortida desitjada.

Llegir més: Com afegir un filtre a Excel (4 mètodes) )

7. Incrusta Excel VBA per copiar dades filtrades en un full nou a Excel

Comproveu que hi ha algunes dades filtrades al meu conjunt de dades. Ara els copiaré en un full nou amb VBA . Aquests codis no funcionaran correctament al full, els hauràs d'aplicar al mòdul.

Pasos:

  • Premeu Alt+F11 per obrir VBA

  • A continuació, feu clic a Insereix > Mòdul per obrir un mòdul .

  • Ara escriviu els codis següents
8757
  • A continuació, minimitzeu el VBA

Desglossament del codi

  • Aquí, vaig crear un procediment Sub , Copy_Filtered_Data_NewSheet() .
  • Després d'això declarada de dues variables- x Rng com a rang i xWS com a full de treball.
  • A continuació, s'ha utilitzat una instrucció IF per marca Filtrat
  • Més tard, s'utilitza MsgBox per mostrar la sortida.
  • A continuació s'utilitza Fulls de treball ("Copia dades filtrades"). Filtre automàtic .Range per seleccionar l'interval Filtrat i s'utilitza Afegeix per afegir un full nou.
  • Finalment, Copia l'interval ("G4") copiarà les dades Filtrades al full nou .
  • Més tard, seguiu eltercer pas del primer exemple per obrir el quadre de diàleg Macros .
  • A continuació, seleccioneu el nom de la macro especificat i prem Executar .

Ara mireu que Excel ha obert un nou full i ha copiat les files filtrades.

Llegir més: Drecera per al filtre d'Excel (3 usos ràpids amb exemples)

8. Apliqueu codi VBA per filtrar dades mitjançant la llista desplegable

En el nostre darrer exemple, primer farem una llista desplegable per a sexes i després la farem servir per filtrar dades. Per això, he col·locat els criteris de gènere en una altra ubicació i farem una llista desplegable a la Cel·la D14 .

Passos:

  • Seleccioneu Cel·la D14 .
  • A continuació, feu clic a de la següent manera: Dades > Eines de dades > Validació de dades > Validació de dades.

Poc després, s'obrirà un quadre de diàleg .

Seleccioneu Llista del menú desplegable Permet .

A continuació, feu clic a la icona Obre del quadre Font .

Ara seleccioneu l'interval de criteris i prem el botó Enter .

  • En aquest moment, només cal premeu D'acord .

Ara la nostra lista desplegable està preparada.

  • Ara Seguiu els dos primers passos del primer exemple per obrir la finestra VBA .
  • A continuació, escriviu els codis següents-
8381
  • A continuació minimitzeu el VBAfinestra .

Desglossament del codi

  • Aquí, he creat un procediment Private Sub , Worksheet_Change(ByVal Target As Range).
  • A continuació, vaig seleccionar Full de treball de General i Canvi de Declaracions .
  • A continuació, configureu l' Adreça per conèixer la ubicació.
  • Finalment, dins de la instrucció IF , va utilitzar el mètode AutoFilter amb Camp i Criteris
  • Ara només seleccioneu els criteris de la llista desplegable i el Filtre s'activarà .

Aquí teniu la sortida Filtrada després de seleccionar Masculí al menjador desplegable .

Llegir més: Com filtrar per llista en un altre full a Excel (2 mètodes)

Secció de pràctiques

Obtràs un full de pràctiques al fitxer Excel que s'ofereix més amunt per practicar les maneres explicades.

Conclusió

Espero que els procediments descrits anteriorment siguin prou bons per utilitzar el codi VBA per Filtrar dades a Excel. No dubteu a fer qualsevol pregunta a la secció de comentaris i feu-me la vostra opinió.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.