Táboa de contidos
Neste artigo mostrarei como pode usar unha instrucción If en VBA en Excel baseada nun valor de cela.
Excel VBA: Se declaración baseada no valor da cela (vista rápida)
7169
Descargar libro de prácticas
Descargar esta práctica caderno de traballo para practicar mentres estás a ler este artigo.
Se Declaración baseada no valor da cela.xlsm
Se Declaración baseada no valor da cela en Excel VBA
Aquí temos unha folla de traballo que contén os nomes e as notas dalgúns alumnos dunha escola nun exame.
O noso obxectivo é aprender a usar a instrución If en Excel VBA baseándose nun valor de cela deste conxunto de datos.
1 . Instrucción If baseada no valor da cela dunha soa cela en Excel VBA
Primeiro de todo, aprenderemos a usar unha instrución If baseada no valor dunha única cela.
Por exemplo, intentemos ver se Natalia Austin aprobou o exame ou non, é dicir, se a nota da cela C3 é maior que 40 ou non.
Columna D contén o resultado dos alumnos. É dicir, se a cela C3 contén unha marca superior a 40, a cela D3 conterá “Aprobado” . En caso contrario, conterá “Fallo” .
Usaremos un obxecto VBA Range para crear esta instrución If en función do valor da cela.
O código VBA para isto será:
⧭ VBACódigo:
8656
⧭ Saída:
Executar o código desde Executar sub/Formulario de usuario ferramenta da barra de ferramentas de VBA.
Fará que a cela D3 conteña “Fallo” , xa que a marca na cela C3 é inferior a 40 ( 32 ).
2. Instrucción If baseada nos valores dun intervalo de celas en Excel VBA
Tamén pode usar a Instrucción If baseada nos valores dun intervalo de celas en VBA . Podes usar un for-loop para este fin.
Por exemplo, aquí podemos coñecer o resultado de todos os estudantes cun só código. Iteraremos un for-loop que comprobará todas as celas do intervalo C3:C12 e devolverá o resultado correspondente, “Aprobado” ou “Fallo” .
O código VBA para isto será:
⧭ Código VBA:
2249
⧭ Saída:
Executar o código desde a ferramenta Executar Sub/Formulario de usuario no VBA barra de ferramentas. Devolverá “Aprobado” para as marcas superiores a 40 e “Fallo” para as que sexan inferiores a n 40 .
Cousas para recordar
Aquí mostrei unha instrucción If cunha única condición. Pero se o desexas, podes usar varias condicións dentro dunha instrución If .
Se usas OU escribe varias condicións, únelas cun OR .
E se usa AND escribe varias condicións, únete a elas cun AND .
Por exemplo, para comprobar se a marca na cela B3 é maior que 40 e menor que 50 ou non, use:
8752