Inhoudsopgave
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.xlsmIf 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