Excel VBA: If Statement gebaseerd op celwaarde (2 praktische voorbeelden)

  • Deel Dit
Hugh West

In dit artikel laat ik je zien hoe je een Als verklaring in VBA in Excel op basis van een celwaarde.

Excel VBA: If Statement gebaseerd op celwaarde (Snelle weergave)

 Sub If_Statement_Based_On_a_Single_Cell() Als Range("C3").Value>= 40 Dan Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

Download Praktijk Werkboek

Download dit oefenwerkboek om te oefenen terwijl u dit artikel leest.

Als verklaring gebaseerd op celwaarde.xlsm

If Statement gebaseerd op celwaarde in Excel VBA

Hier hebben we een werkblad dat de namen en merken van sommige leerlingen van een school in een examen.

Ons doel is het leren gebruiken van de Als verklaring in Excel VBA gebaseerd op een celwaarde uit deze gegevensverzameling.

1. If Statement gebaseerd op de waarde van een enkele cel in Excel VBA

Allereerst zullen we leren een If statement te gebruiken op basis van de waarde van een enkele cel.

Laten we bijvoorbeeld proberen te zien of Natalia Austin geslaagd is voor het examen of niet, dat wil zeggen of het cijfer in cel C3 is groter dan 40 of niet.

Kolom D bevat het resultaat van de studenten. Dat wil zeggen, als cel C3 bevat een cijfer groter dan 40, cel D3 zal bevatten "Geslaagd" Anders bevat het "Mislukt" .

We gebruiken een VBA Bereik object om deze Als verklaring gebaseerd op de celwaarde.

De VBA code hiervoor zal zijn:

⧭ VBA-code:

 Sub If_Statement_Based_On_a_Single_Cell() Als Range("C3").Value>= 40 Dan Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

⧭ Uitgang:

Voer de code uit van de Run Sub / UserForm gereedschap in de VBA werkbalk.

Het zal cel D3 bevatten "Mislukt" als de markering in cel C3 is minder dan 40 ( 32 ).

2. If Statement gebaseerd op waarden van een bereik van cellen in Excel VBA

U kunt ook de Als verklaring gebaseerd op de waarden van een reeks cellen in VBA U kunt een for-loop voor dit doel.

Bijvoorbeeld, hier kunnen we het resultaat van alle studenten achterhalen met één enkele code. We itereren door een for-loop die alle cellen in het bereik controleert C3:C12 en geeft een overeenkomstig resultaat terug, "Geslaagd" of "Mislukt" .

De VBA code hiervoor zal zijn:

⧭ VBA-code:

 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 

⧭ Uitgang:

Voer de code uit van de Run Sub / UserForm gereedschap in de VBA werkbalk. Het zal terugkeren "Geslaagd" voor de cijfers die groter zijn dan 40 en "Mislukt" voor degenen die minder dan n 40 .

Dingen om te onthouden

Hier heb ik een Als verklaring met een enkele voorwaarde. Maar als u wilt, kunt u meerdere voorwaarden gebruiken binnen een Als verklaring .

Als u OF type meerdere voorwaarden, voeg ze samen met een OF .

En als u EN type meerdere voorwaarden, voeg ze samen met een EN .

Bijvoorbeeld, om te controleren of de markering in cel B3 is groter dan 40 en minder dan 50 of niet, gebruiken:

 Als (Range("C3").Value> 40 Or Range("C3").Value <50) Then 

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.