Táboa de contidos
Excel Ordenar & O comando de filtrado ten un rango limitado a Datos de filtrado . Pero usando VBA podes Filtrar datos nunha ampla gama como queiras. Este artigo proporcionarache 8 exemplos útiles para usar o código VBA para Filtrar datos en Excel usando códigos VBA con ilustracións vivas.
Descargar o libro de prácticas
Podes descargar o modelo de Excel gratuíto desde aquí e practicar pola túa conta.
Código VBA para filtrar datos.xlsm
8 exemplos para usar código VBA para filtrar datos en Excel
Primeiro imos presentar o noso conxunto de datos que representa o xénero, o estado e o estado dalgúns estudantes. Idade .
1. Usa o código VBA para filtrar datos en base a criterios de texto en Excel
No noso primeiro exemplo, usaremos VBA para Filtrar só Estudantes masculinos da columna Xénero do conxunto de datos.
Pasos:
- Fai clic co botón dereito do rato no título da folla .
- A continuación, seleccione Ver código no menú de contexto .
Pronto despois, abrirase unha xanela VBA .
- Escriba os seguintes códigos en it-
2978
- Máis tarde, minimiza o VBA
Desglose do código
- Aquí creei un procedemento Sub , Filter_Data_Text() .
- Entón usei o Propiedade Range para declarar o noso respectivo nome da folla e rango
- A continuación, usei o método de Filtro automático para usar Criterios da miña elección onde Campo:=2 significa columna 2 . E Criterios1:=”Masculino” para Filtrar os datos de Masculino.
- Despois diso, para abra a caixa de diálogo Macros , faga clic en como segue: Desenvolvedor > Macros.
- Seleccione o nome da macro tal e como se indica nos códigos .
- Por último, só tes que preme Executar .
Agora mira que só temos Datos dos estudantes masculinos despois do Filtrado .
Ler máis: Datos do filtro de Excel baseados en Valor da cela (6 xeitos eficientes)
2. Aplica código VBA para filtrar datos con varios criterios nunha columna
Aquí, Filtraremos para varios criterios nunha columna. A partir da columna número tres do conxunto de datos, Filtraremos para estudantes de grao e de posgrao .
Pasos:
- Sigue os dous primeiros pasos do primeiro exemplo para abrir a xanela VBA .
- Máis tarde, escriba os seguintes códigos -
5847
- A continuación, minimice o VBA
Desglose do código
- Aquí creei un procedemento Sub , Filter_One_Column() .
- Entón utilizou a propiedade Range para declarar os nosos respectivos nome da folla e intervalo
- A continuación, usei oMétodo de filtrado automático para usar os Criterios da miña elección onde Campo:=3 significa columna 3 . Aquí, Criterios1:=”Graduado” e Criterios2:=”Posgrao” para Filtrar o Estado do estudante.
- Finalmente, usei Operator:=xlOr para aplicar a OR condición Filtro para varios criterios.
- Neste momento, siga o terceiro paso do primeiro exemplo para abrir o cadro de diálogo Macros caixa .
- Máis tarde, seleccione o nome da macro especificado e prema Executar .
Pouco despois, obterás as filas filtradas en función de varios criterios como a imaxe de abaixo.
Ler máis: Filtrar varios criterios en Excel (4 xeitos adecuados)
3. Aplicar código VBA para filtrar datos con varios criterios en diferentes columnas en Excel
Agora imos Filtrar para varios criterios: Masculino e Graduado alumnos.
Pasos:
- Siga os dous primeiros pasos do primeiro exemplo para abra o VBA
- Máis tarde, escriba os seguintes códigos -
2353
- Despois que minimiza a xanela de VBA .
Desglose do código
- Aquí creei un procedemento Sub , Filter_Different_Columns() .
- Entón, usei a instrución Con para usar Columna múltiple .
- Entón utilizouse o Intervalo propiedade para declarar os nosos respectivos nome da folla e intervalo
- A continuación, usei o método AutoFilter para usar Criterios de a miña elección onde Campo:=2 significa columna 2 e Campo:=3 significa columna 3 .
- Aquí , seleccionou Criterios1:="Masculino" para a columna Xénero e Criterios1:="Graduado" para a columna Estado para Filtrar datos de diferentes columnas .
- A continuación, siga o terceiro paso do primeiro exemplo para abrir o Cadro de diálogo Macros .
- Máis tarde, seleccione o nome da macro especificado e prema Executar .
Aquí está a saída dos múltiples criterios.
Ler máis: Excel VBA para filtrar na mesma columna por varios criterios (6 exemplos)
4. Usa o código VBA para filtrar os 3 elementos principais en Excel
Neste exemplo, filtraremos os tres estudantes principais segundo a súa idade .
Pasos:
- Sigue os dous primeiros pasos do primeiro exemplo para abrir a xanela de VBA .
- A continuación escriba os seguintes códigos -
6346
- Despois minimice o Ventá VBA .
Desglose do código
- Aquí, eu creou un procedemento Sub , Filter_Top3_Items() .
- E despois utilizou Operator:=xlTop10Items para Filter para os tres primeiros datos .
- Agora sigue o terceiro paso do primeiro exemplo para abrir o Cadro de diálogo de macros .
- A continuación, seleccione o nome da macro como se indica nos códigos e preme Executar .
Entón obterás a saída como a imaxe de abaixo-
Ler máis: Como filtrar segundo o valor da cela usando Excel VBA (4 métodos)
Lecturas similares
- Como copiar e pegar cando O filtro aplícase en Excel
- Como filtrar valores únicos en Excel (8 xeitos sinxelos)
- Filtrar varios criterios en Excel con VBA (ambos Tipos AND e OU)
- Como usar o filtro de texto en Excel (5 exemplos)
- Como filtrar por data en Excel (4 rápido Métodos)
5. Usa o código VBA para filtrar os 50 por cento máis importantes en Excel
Utilicemos códigos VBA para filtrar o cincuenta por cento superior dos estudantes en función da súa idade .
Pasos:
- Primeiro, Sigue os dous primeiros pasos do primeiro exemplo para abrir a xanela VBA .
- Máis tarde, escriba os seguintes códigos nela:
4561
- Minimizar a xanela VBA .
Desglose do código
- Aquí creei un procedemento Sub , Filter_Top50_Percent() .
- Máis tarde, usei Operator:=xlTop10Percent para Filtra o cincuenta por cento superior de columna-4 .
- Neste momento, siga o terceiro paso do primeiro exemplo para abrir o Cadro de diálogo Macros.
- A continuación, seleccione o nome da macro especificado e prema Executar .
Había un total de 7 estudantes polo que para o 50 por cento , aparece aproximadamente tres estudantes .
Ler máis: Como usar a fórmula de porcentaxe de beneficio en Excel (3 exemplos)
6 . Aplicar código VBA para filtrar datos mediante comodín
Podemos usar caracteres comodín-* (asterisco) en códigos VBA para filtrar datos en Excel. Desde a columna Estado , filtraremos só os valores que conteñan "Publicación" .
Pasos:
- Sigue os dous primeiros pasos do primeiro exemplo para abrir a xanela VBA .
- A continuación, escribe os seguintes códigos nel-
6551
- Máis tarde, minimiza a xanela VBA .
Desglose do código
- Aquí creei un procedemento sub, Filter_with_Wildcard() .
- Entón utilizouse Intervalo (“B4”) para establecer o intervalo.
- Seguinte , usado AutoFilter para Filtrar en Campo:=3 significa columna 3.
- Criterios1:=”*Publicación *” para Filtrar os valores que conteñan "Publicar".
- Agora sigue o terceiro paso desde primeiro exemplo para abrir o diálogo Macroscaixa.
- Seleccione o nome da macro especificado e preme Executar .
Entón obterás a saída desexada.
Ler máis: Como engadir un filtro en Excel (4 métodos) )
7. Incrustar Excel VBA para copiar datos filtrados nunha nova folla en Excel
Ver que hai algúns datos filtrados no meu conxunto de datos. Agora copiareinos nunha nova folla usando VBA . Estes códigos non funcionarán correctamente na ficha, terás que aplicalos no módulo.
Pasos:
- Preme Alt+F11 para abrir VBA
- A continuación, fai clic en Inserir > Módulo para abrir un módulo .
- Agora escribe os seguintes códigos –
2009
- Entón minimiza o VBA
Desglose do código
- Aquí creei un procedemento Sub , Copy_Filtered_Data_NewSheet() .
- Despois diso declarou dúas variables- x Rng como intervalo e xWS como folla de traballo.
- A continuación, utilizouse unha instrución IF para marque Filtrado
- Máis tarde, utilizouse MsgBox para mostrar a saída.
- Entón utilizouse Follas de traballo ("Copiar datos filtrados"). Filtro automático .Range para seleccionar o intervalo Filtrado e utilizou Engadir para engadir unha nova folla.
- Por último, Copiar intervalo(“G4”) copiará os datos Filtrados na nova folla .
- Máis tarde, sigue aterceiro paso do primeiro exemplo para abrir o cadro de diálogo Macros .
- A continuación, seleccione o nome da macro especificado e preme Executar .
Agora vexa que Excel abriu unha nova folla e copiou as filas filtradas.
Ler máis: Atallos para o filtro de Excel (3 usos rápidos con exemplos)
8. Aplicar código VBA para filtrar datos mediante a lista despregable
No noso último exemplo, primeiro faremos unha lista despregábel para os xéneros e despois usarémola para filtrar os datos. Para iso, coloquei os criterios de xénero noutra localización e faremos unha lista despregábel na Cela D14 .
Pasos:
- Seleccione Cela D14 .
- A continuación, faga clic en como segue: Datos > Ferramentas de datos > Validación de datos > Validación de datos.
Poco despois, abrirase unha caixa de diálogo .
Seleccione Lista no menú despregable Permitir .
A continuación, faga clic na icona Abrir da caixa Fonte .
Agora seleccione o intervalo de criterios e prema o botón Intro .
- Neste momento, só tes que prema Aceptar .
Agora a nosa lista despregable está lista.
- Agora Sigue os dous primeiros pasos do primeiro exemplo para abrir a xanela VBA .
- A continuación, escribe os seguintes códigos -
1522
- A continuación, minimiza o VBAxanela .
Desglose do código
- Aquí, creei un procedemento Private Sub , Worksheet_Change(ByVal Target As Range).
- Entón, seleccionei Folla de traballo de Xeneral e Cambiar de Declaracións .
- A continuación, configure o Enderezo para coñecer a localización.
- Finalmente, dentro da instrucción IF utilizouse o método AutoFilter co Campo e Criterios
- Agora só selecciona os criterios da lista despregable e activarase o Filtro .
Aquí está a saída Filtrada despois de seleccionar Masculino no menú despregable .
Ler máis: Como filtrar por lista noutra folla en Excel (2 métodos)
Sección de prácticas
Recibirás unha folla de prácticas no ficheiro Excel que se indica arriba para practicar as formas explicadas.
Conclusión
Espero que os procedementos descritos anteriormente sexan o suficientemente bos como para usar o código VBA para Filtrar datos en Excel. Non dubides en facer calquera pregunta na sección de comentarios e envíame comentarios.