Excel VBA: se a cela contén un valor, devolve unha saída especificada

  • Comparte Isto
Hugh West

Neste artigo mostrarei como pode analizar a situación en Excel VBA se unha cela contén un valor. Aprenderás a analizar a situación tanto para calquera valor como para un valor particular.

Análise de Excel VBA: se a cela contén un valor, entón (vista rápida)

5685

Descargar libro de prácticas

Descarga este libro de prácticas para facer exercicio mentres lees este artigo.

VBA If Cell Contains Value Then.xlsm

Análise Excel VBA: se a cela contén un valor, devolve saídas (análise paso a paso)

Aquí temos un conxunto de datos coas notas dalgúns estudantes de Física, Química, e Matemáticas nun colexio chamado Xardín de Infancia Sunflower.

As celas en branco significan que o alumno non apareceu, é dicir, estaba ausente nese exame en concreto. Agora imos analizar a situación, se unha cela contén un valor ou non, con este conxunto de datos.

⧪ Paso 1: Declaración da cela

Primeiro, temos que declarar a cela cuxo valor queremos analizar. Analizemos se Jennifer Marlo apareceu no exame de Física ou non.

Por iso, necesitamos comprobar se a cela C12 contén un valor ou non.

Para facelo, primeiro, temos que declarar a cela C12 .

A liña de código para lograr isto será:

5264

⧪ Paso 2: Comprobar se a cela contén un valor (incluíndo un valor particular)

A continuación, temos que comprobar sea cela contén un valor ou non. Executaremos isto usando unha condición If . A liña de  código será:

7698

Este código executarase se a cela contén algún valor. Para comprobar se hai un valor (por exemplo, se contén 100 ou non), use ese valor específico cun símbolo Igual a .

3806

⧪ Paso 3: Asignación da tarefa

Entón tes que configurar unha tarefa que se executará se a cela contén un valor (ou un valor específico).

Aquí queremos mostrar a mensaxe "Jennifer Marlo apareceu no exame de Física." . Polo tanto, a liña de código será:

7375

⧪ Paso 4: finalizar o bloque If

Finalmente, debes declarar o fin do bloque If.

1116

Así que o código VBA completo será:

⧭ Código VBA:

8675

⧭ Saída:

Executar este código facendo clic no botón Executar sub/Formulario de usuario da barra de ferramentas.

Mostrará a mensaxe “Jennifer Marlo apareceu no exame de física”. xa que a cela C12 contén un valor de 50 .

Exemplos que implican se a cela contén un valor, entón unha saída especificada con Excel VBA

Aprendemos a analizar se unha cela contén un valor ou non en VBA . Agora, imos explorar algúns exemplos para aclarar a comprensión.

1. Desenvolver unha macro para filtrar un valor Se a cela correspondente contén algún valor, entón en Excel VBA

Desenvolvemos un Macro para filtrar os alumnos que apareceron en cada un dos exames.

É dicir, temos que comprobar as celas que conteñen as notas de cada unha das materias e ver se conteñen algún valor. ou non.

Se o fan, entón temos que ordenar o nome do alumno correspondente.

O código VBA completo para logralo será:

⧭ Código VBA:

5973

⧭ Saída:

Seleccione o conxunto de datos ( Incluíndo os Encabezados ) e executa esta Macro .

Primeiro, pediráselle que introduza a referencia do primeiro cela onde quere os datos filtrados. Introducín G3 .

A continuación, fai clic en Aceptar . Recibirás os nomes dos estudantes que apareceron en cada un dos exames (incluíndo os Encabezados ) nun novo conxunto de datos a partir da cela G3 .

2. Crear unha función definida polo usuario para ordenar un valor Se a cela correspondente contén un valor específico, entón en Excel VBA

Agora crearemos unha función definida polo usuario que devolverá os nomes dos estudantes que obtivo unha nota específica en cada unha das materias.

O procedemento é case o mesmo que o anterior. Temos que comprobar as celas que conteñen as notas de cada unha das materias e ver se son ou non iguais a un valor concreto.

Se o son, devolveremos o nome do alumno correspondente.

O código VBA será:

⧭ VBACódigo:

1497

⧭ Saída:

O código crea unha función chamada Células_con_Valores que toma dous argumentos, un Intervalo e un Valor .

Descubrimos os alumnos que obtiveron 100 en cada unha das materias mediante esta función.

Seleccione un intervalo de celas na súa folla de traballo e introduza esta función na primeira cela do intervalo:

=Cells_with_Values(B3:E13,100)

[Aquí B3: E3 é o meu conxunto de datos (incluíndo os Encabezados ) e 100 é o meu valor coincidente. Usas o teu.]

A continuación, preme CTRL + MAYÚS + ENTER ( Fórmula matricial ). Devolverá unha matriz formada polos nomes dos estudantes que obtiveron 100 en cada materia, incluídos os Encabezados .

3. Desenvolver un formulario de usuario para extraer un valor se a cela correspondente contén algún valor (ou un valor específico) en Excel VBA

Finalmente, desenvolveremos un Formulario de usuario para extraer o nomes dos estudantes que apareceron (ou obtiveron notas específicas) nalgúns exames específicos.

⧪ Paso 1: Abrir o formulario de usuario

Vaia ao Inserir > Opción UserForm no editor VBA para abrir un novo UserForm . Abrirase un novo Formulario de usuario chamado Formulario de usuario1 .

⧪ Paso 2: Arrastrar ferramentas ao formulario de usuario

Ademais do Formulario de usuario , obterá a Caixa de ferramentas . Move o cursor sobre a Caixa de ferramentas e arrastre 4 Etiquetas (Etiqueta1, Etiqueta2,Label3, Label4) e 3 ListBox (ListBox1, ListBox2, ListBox3) e un TextBox (TextBox1) en forma rectangular sobre o UserForm .

A continuación, arrastre outra Etiqueta (Etiqueta5) e unha Caixa de texto (Caixa de texto2) á esquina inferior esquerda do Formulario de usuario .

Finalmente, arrastre un Botón de comando (Botón de comando 1) á esquina inferior dereita.

Cambie as visualizacións das Etiquetas a Columna de busca , Columna de retorno , Calquera valor ou un valor específico , Valor, e Cela inicial.

Tamén, cambie a visualización do CommandButton1 a OK .

⧪ Paso 3: escribir o código para ListBox3

Fai dobre clic en ListBox3 . Abrirase un Subprocedemento privado chamado ListBox3_Click . Introduza alí o seguinte código.

1279

⧪ Paso 4: Escribir código para CommandButton1

A continuación, prema dúas veces en CommandButton1 . Abrirase outro Subprocedemento privado chamado CommandButton1_Click . Introduza alí o seguinte código.

6971

⧪ Paso 5: Escribir código para executar o formulario de usuario

Finalmente, insira un novo Módulo desde o Barra de ferramentas VBA e insira alí o seguinte código.

6759

⧪ Paso 6: Execución do formulario de usuario (a saída final)

O teu Formulario de usuario xa está listo para usar. Seleccione o conxunto de datos da folla de traballo ( B3:E13 aquí) (incluíndo os Encabezados ) eexecuta a Macro chamada Run_UserForm .

O UserForm cargarase na folla de traballo. Na táboa Columna de busca , seleccionei Física e Matemáticas porque quero obter os nomes dos estudantes que apareceron en Física e exames de Matemáticas .

Na táboa Columna de retorno , seleccionei Nome do alumno porque quero obter os nomes dos alumnos.

E na táboa Calquera valor ou valor específico , seleccionei Calquera valor .

Finalmente, na Cela de inicio , puxen G3 .

A continuación, faga clic en Aceptar . Verás os nomes dos estudantes que apareceron nos exames de Física e Matemáticas a partir da cela G3 .

Se seleccionara Valor específico da táboa Calquera valor ou valor específico , tería outro Cadro de texto para introducir o valor específico.

Aquí introducín 100 .

Fai clic en Aceptar . E terás os estudantes que obtiveron 100 en Física e Química .

Cousas para recordar

Utilizamos unha matriz bidimensional para devolver os nomes dos estudantes na Función definida polo usuario descrita no exemplo 2 .

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.