Spis treści
W tym artykule pokażę Ci jak możesz użyć Jeżeli oświadczenie w VBA w Excelu na podstawie wartości komórki.
Excel VBA: Instrukcje if oparte na wartości komórki (szybki podgląd)
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
Pobierz Zeszyt ćwiczeń
Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.
If Statement Based on Cell Value.xlsmPolecenie If oparte na wartości komórki w Excelu VBA
Mamy tu arkusz, który zawiera. nazwy i znaki niektórych uczniów szkoły na egzaminie.
Naszym celem jest nauczenie się, jak używać Jeżeli oświadczenie w Excelu VBA na podstawie wartości komórki z tego zestawu danych.
1. instrukcja if oparta na wartości pojedynczej komórki w Excelu VBA
Po pierwsze, nauczymy się używać instrukcji If opartej na wartości pojedynczej komórki.
Na przykład spróbujmy sprawdzić, czy Natalia Austin zdała egzamin, czy nie, czyli czy ocena w komórce C3 jest większa niż 40 lub nie.
Kolumna D zawiera wynik uczniów. To znaczy, że jeśli komórka C3 zawiera znak większy niż 40, komórka D3 będzie zawierał "Passed" . Inaczej, będzie zawierał "Nie udało się" .
Użyjemy VBA Zakres aby stworzyć ten obiekt Jeżeli oświadczenie na podstawie wartości komórki.
Na stronie VBA kodem do tego będzie:
⧭ Kod 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
⧭ Wyjście:
Uruchom kod z Run Sub / UserForm narzędzie w VBA pasek narzędzi.
To sprawi, że komórka D3 zawierają "Nie udało się" , jako znak w komórce C3 jest mniejszy niż 40 ( 32 ).
2. instrukcja if oparta na wartościach zakresu komórek w Excelu VBA
Można również użyć Jeżeli oświadczenie na podstawie wartości zakresu komórek w VBA Możesz użyć for-loop w tym celu.
Na przykład tutaj możemy poznać wynik wszystkich studentów za pomocą jednego kodu.Będziemy iterować przez a for-loop która sprawdzi wszystkie komórki z zakresu C3:C12 i zwrócić odpowiedni wynik, "Passed" lub "Nie udało się" .
Na stronie VBA kodem do tego będzie:
⧭ Kod 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
⧭ Wyjście:
Uruchom kod z Run Sub / UserForm narzędzie w VBA pasek narzędziowy. To zwróci "Passed" dla znaków, które są większe niż 40 i "Failed" dla tych, które są mniej niż n 40 .
Rzeczy do zapamiętania
Tutaj pokazałem Jeżeli oświadczenie Ale jeśli chcesz, możesz użyć wielu warunków w ramach jednego Jeżeli oświadczenie .
Jeśli używasz LUB wpisz wiele warunków, połącz je za pomocą znaku LUB .
A jeśli użyjesz ORAZ wpisz wiele warunków, połącz je za pomocą znaku ORAZ .
Na przykład, aby sprawdzić, czy znak w komórce B3 jest większa niż 40 i mniej niż 50 lub nie, użyj:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then