Excel VBA: Instrukcje if na podstawie wartości komórki (2 praktyczne przykłady)

  • Udostępnij To
Hugh West

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.xlsm

Polecenie 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 

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.