Taula de continguts
En aquest article, us mostraré com podeu analitzar la situació a Excel VBA si una cel·la conté un valor. Aprendràs a analitzar la situació tant per a qualsevol valor com per a un valor particular.
Anàlisi VBA d'Excel: si la cel·la conté un valor, aleshores (vista ràpida)
8623
Descarregueu el llibre de pràctiques
Descarregueu aquest quadern de pràctiques per fer exercici mentre llegiu aquest article.
VBA If Cell Contains Value Then.xlsm
Anàlisi Excel VBA: si la cel·la conté un valor, retorna les sortides (anàlisi pas a pas)
Aquí tenim un conjunt de dades amb les notes d'alguns estudiants de Física, Química, i Matemàtiques en una escola que es diu Jardí d'Infants Girasol.
Les cel·les en blanc signifiquen que l'alumne no va aparèixer, és a dir, estava absent en aquell examen concret. Ara analitzem la situació, tant si una cel·la conté un valor com si no, amb aquest conjunt de dades.
⧪ Pas 1: Declaració de la cel·la
Primer, hem de declarar la cel·la el valor de la qual volem analitzar. Analitzem si Jennifer Marlo va aparèixer a l'examen de Física o no.
Per tant, hem de comprovar si la cel·la C12 conté un valor o no.
Per fer-ho, primer, hem de declarar la cel·la C12 .
La línia de codi per aconseguir-ho serà:
9240
⧪ Pas 2: Comprovar si la cel·la conté un valor (incloent un valor particular)
A continuació, hem de comprovar sila cel·la conté un valor o no. Ho farem amb una condició If . La línia de codi serà:
4098
Aquest codi s'executarà si la cel·la conté algun valor. Per comprovar si hi ha un valor (per exemple, si conté 100 o no), utilitzeu aquest valor específic amb un símbol Igual a .
7129
⧪ Pas 3: Assignació de la tasca
A continuació, heu de configurar una tasca que s'executarà si la cel·la conté un valor (o un valor específic).
Aquí volem mostrar el missatge. "Jennifer Marlo va aparèixer a l'examen de física." . Per tant, la línia de codi serà:
1984
⧪ Pas 4: Finalització del bloc If
Finalment, heu de declarar el final del bloc If.
7620
Així que el codi VBA complet serà:
⧭ Codi VBA:
4466
⧭ Sortida:
Executeu aquest codi fent clic al botó Executar sub/Formulari d'usuari de la barra d'eines.
Mostrarà el missatge “Jennifer Marlo va aparèixer a l'examen de física”. ja que la cel·la C12 conté un valor de 50 .
Exemples que inclouen si la cel·la conté un valor i després una sortida especificada amb Excel VBA
Hem après a analitzar si una cel·la conté un valor o no a VBA . Ara, analitzem alguns exemples per aclarir la comprensió.
1. Desenvolupament d'una macro per filtrar un valor Si la cel·la corresponent conté algun valor, a Excel VBA
Desenvolupem un Macro per filtrar els alumnes que van aparèixer a cadascun dels exàmens.
És a dir, hem de comprovar les cel·les que contenen les notes de cadascuna de les assignatures i veure si contenen un valor. o no.
Si ho fan, haurem d'ordenar el nom de l'estudiant corresponent.
El codi VBA complet per aconseguir-ho serà:
⧭ Codi VBA:
9133
⧭ Sortida:
Seleccioneu el conjunt de dades ( Incloent els Encapçalaments ) i executeu aquesta Macro .
Primer, se us demanarà que introduïu la referència del primer cel·la on voleu les dades filtrades. He introduït G3 .
A continuació, feu clic a D'acord . Obtindreu els noms dels estudiants que van aparèixer a cadascun dels exàmens (inclosos els Encapçalaments ) en un nou conjunt de dades a partir de la cel·la G3 .
2. Creació d'una funció definida per l'usuari per ordenar un valor si la cel·la corresponent conté un valor específic, a Excel VBA
Ara crearem una funció definida per l'usuari que retornarà els noms dels estudiants que va obtenir una nota específica en cadascuna de les assignatures.
El procediment és gairebé el mateix que l'anterior. Hem de comprovar les cel·les que contenen les notes de cadascuna de les assignatures i veure si són iguals a un valor concret o no.
Si ho són, retornarem el nom de l'alumne corresponent.
El codi VBA serà:
⧭ VBACodi:
3731
⧭ Sortida:
El codi crea una funció anomenada Cèl·lules_amb_Valors que pren dos arguments, un Rang i un Valor .
Anem a conèixer els estudiants que han obtingut 100 en cadascuna de les assignatures utilitzant aquesta funció.
Seleccioneu un rang de cel·les al vostre full de treball i introduïu aquesta funció a la primera cel·la de l'interval:
=Cells_with_Values(B3:E13,100)
[Aquí B3: E3 és el meu conjunt de dades (incloent els Encapçalaments ) i 100 és el meu valor coincident. Feu servir el vostre.]
A continuació, premeu CTRL + MAJÚS + INTRO ( Fórmula de matriu ). Retornarà una matriu formada pels noms dels estudiants que n'han obtingut 100 a cada assignatura, inclosos els Encapçalaments .
3. Desenvolupament d'un formulari d'usuari per extreure un valor si la cel·la corresponent conté algun valor (o un valor específic) a Excel VBA
Finalment, desenvoluparem un Formulari d'usuari per extreure el noms dels estudiants que van aparèixer (o van obtenir notes específiques) en alguns exàmens específics.
⧪ Pas 1: obrir el formulari d'usuari
Aneu a Insereix > Opció UserForm a l'editor VBA per obrir un nou UserForm . S'obrirà un nou Formulari d'usuari anomenat Formulari d'usuari1 .
⧪ Pas 2: arrossegar les eines al formulari d'usuari
A més del Formulari d'usuari , obtindreu la Caixa d'eines . Moveu el cursor per sobre de la Caixa d'eines i arrossegueu 4 etiquetes (Etiqueta1, Etiqueta2,Label3, Label4) i 3 ListBox (ListBox1, ListBox2, ListBox3) i un TextBox (TextBox1) en forma rectangular sobre el UserForm .
A continuació, arrossegueu una altra Etiqueta (Label5) i un TextBox (TextBox2) a l'extrem inferior esquerre del UserForm .
Finalment, arrossegueu un CommandButton (CommandButton1) a l'extrem inferior dret.
Canvieu les visualitzacions de les Etiquetes a Columna de cerca , Columna de retorn , Qualsevol valor o un valor específic , Valor, i Cel·la inicial.
A més, canvieu la visualització del CommandButton1 a D'acord .
⧪ Pas 3: escriviu el codi per a ListBox3
Feu doble clic a ListBox3 . S'obrirà un Subprocediment privat anomenat ListBox3_Click . Introduïu el codi següent allà.
9821
⧪ Pas 4: escriviu el codi per a CommandButton1
A continuació, feu doble clic a CommandButton1 . S'obrirà un altre subprocediment privat anomenat CommandButton1_Click . Introduïu el codi següent allà.
7762
⧪ Pas 5: escriviu el codi per executar el formulari d'usuari
Finalment, inseriu un nou mòdul des del Barra d'eines VBA i inseriu-hi el codi següent.
2413
⧪ Pas 6: Execució del formulari d'usuari (la sortida final)
El vostre Formulari d'usuari ja està llest per utilitzar-lo. Seleccioneu el conjunt de dades del full de treball ( B3:E13 aquí) (inclosos els Encapçalaments ) iexecuteu la Macro anomenada Run_UserForm .
El UserForm es carregarà al full de treball. A la taula Columna de cerca , he seleccionat Física i Matemàtiques perquè vull obtenir els noms dels estudiants que apareixien a Física i els exàmens Matemàtiques .
A la taula Columna de retorn , he seleccionat Nom de l'alumne perquè vull obtenir els noms dels estudiants.
I a la taula Qualsevol valor o valor específic , he seleccionat Qualsevol valor .
Finalment, a la Cel·lula inicial , he posat G3 .
A continuació, feu clic a D'acord . Obtindreu els noms dels estudiants que van aparèixer als exàmens Física i Matemàtiques a partir de la cel·la G3 .
Si haguéssiu seleccionat Valor específic de la taula Qualsevol valor o valor específic , hauríeu obtingut un altre Quadre de text per introduir el valor específic.
Aquí he introduït 100 .
Feu clic a D'acord . I obtindreu els estudiants que van obtenir 100 en Física i Química .
Coses per recordar
Vam utilitzar una matriu bidimensional per retornar els noms dels estudiants a la Funció definida per l'usuari descrita a l'exemple 2 .