Table des matières
Dans cet article, je vais vous montrer comment vous pouvez utiliser un fichier de type Si la déclaration sur VBA dans Excel en fonction de la valeur d'une cellule.
Excel VBA : instruction If basée sur la valeur de la cellule (vue rapide)
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
Télécharger le cahier d'exercices
Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.
Instruction If basée sur la valeur d'une cellule.xlsmDéclaration If basée sur la valeur d'une cellule dans Excel VBA
Ici, nous avons une feuille de travail qui contient les éléments suivants noms et marques de certains élèves d'une école lors d'un examen.
Notre objectif est d'apprendre à utiliser le Si la déclaration dans Excel VBA en fonction de la valeur d'une cellule de cet ensemble de données.
Déclaration If basée sur la valeur d'une seule cellule dans Excel VBA
Tout d'abord, nous allons apprendre à utiliser une instruction If basée sur la valeur d'une seule cellule.
Par exemple, essayons de voir si Natalia Austin a réussi l'examen ou non, c'est-à-dire si la note dans la cellule C3 est supérieure à 40 ou pas.
Colonne D contient le résultat des élèves, c'est-à-dire que si la cellule C3 contient une note supérieure à 40, la cellule D3 contiendra "Passé" Sinon, il contiendra "Échec" .
Nous utiliserons un VBA Gamme pour créer cet objet Si la déclaration en fonction de la valeur de la cellule.
Le site VBA Le code pour cela sera :
⧭ Code VBA :
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
⧭ Sortie :
Exécutez le code à partir du Run Sub / UserForm dans l'outil VBA barre d'outils.
Cela rendra la cellule D3 contiennent "Échec" comme la marque dans la cellule C3 est inférieur à 40 ( 32 ).
Déclaration If basée sur les valeurs d'une plage de cellules dans Excel VBA
Vous pouvez également utiliser le Si la déclaration basé sur les valeurs d'une plage de cellules dans VBA Vous pouvez utiliser un for-loop à cette fin.
Par exemple, ici nous pouvons trouver le résultat de tous les élèves avec un seul code. Nous allons itérer à travers un fichier for-loop qui va vérifier toutes les cellules de la plage C3:C12 et renvoie un résultat correspondant, "Passé" ou "Échec" .
Le site VBA Le code pour cela sera :
⧭ Code VBA :
Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub
⧭ Sortie :
Exécutez le code à partir du Run Sub / UserForm dans l'outil VBA La barre d'outils renvoie "Passé" pour les marques qui sont supérieures à 40 et "Échec" pour celles qui sont moins importantes. n 40 .
Les choses à retenir
Ici, j'ai montré une Si la déclaration avec une seule condition, mais si vous le souhaitez, vous pouvez utiliser plusieurs conditions au sein d'une Si la déclaration .
Si vous utilisez OU tapez plusieurs conditions, joignez-les avec un OU .
Et si vous utilisez ET tapez plusieurs conditions, joignez-les avec un ET .
Par exemple, pour vérifier si la marque dans la cellule B3 est supérieure à 40 et moins de 50 ou non, utiliser :
If (Range("C3").Value> ; 40 Or Range("C3").Value <; 50) Then