Съдържание
В тази статия ще ви покажа как можете да използвате Ако изявлението в VBA в Excel въз основа на стойност на клетка.
Excel VBA: Изявление If въз основа на стойността на клетката (бърз преглед)
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
Изтегляне на работна тетрадка за практика
Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.
Изявление If въз основа на стойността на клетката.xlsmАко изявлението се основава на стойността на клетката в Excel VBA
Тук имаме работен лист, който съдържа имена и маркировки на някои ученици от дадено училище на изпит.
Целта ни е да се научим да използваме Ако изявлението в Excel VBA въз основа на стойност на клетка от този набор от данни.
1. Изявление If въз основа на стойността на една клетка в Excel VBA
Най-напред ще се научим да използваме оператор If, базиран на стойността на една клетка.
Например, нека се опитаме да видим дали Наталия Остин е издържала изпита или не, т.е. дали оценката в клетката C3 е по-голям от 40 или не.
Колона D съдържа резултата на студентите. Тоест, ако клетката C3 съдържа знак, по-голям от 40, клетката D3 ще съдържа "Приет" . В противен случай ще съдържа "Неуспешно" .
Ще използваме VBA Обхват обект, за да създадете този Ако изявлението въз основа на стойността на клетката.
Сайтът VBA кодът за това ще бъде:
⧭ Код 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
⧭ Изход:
Изпълнете кода от Изпълнение на Sub / UserForm инструмент в VBA лента с инструменти.
Това ще направи клетките D3 съдържат "Неуспешно" , като знак в клетката C3 е по-малък от 40 ( 32 ).
2. Изявление If, базирано на стойностите на диапазон от клетки в Excel VBA
Можете също така да използвате Ако изявлението въз основа на стойностите на диапазон от клетки в VBA . Можете да използвате for-loop за тази цел.
Например, тук можем да открием резултата на всички ученици с един код. Ще итерираме през for-loop което ще провери всички клетки в диапазона C3:C12 и да върне съответния резултат, "Приет" или "Неуспешно" .
Сайтът VBA кодът за това ще бъде:
⧭ Код 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
⧭ Изход:
Изпълнете кода от Изпълнение на Sub / UserForm инструмент в VBA лентата с инструменти. Тя ще върне "Приет" за оценките, които са по-големи от 40 и "Неуспешно" за тези, които са по-малко от n 40 .
Нещата, които трябва да запомните
Тук съм показал Ако изявлението с едно условие. Но ако желаете, можете да използвате няколко условия в рамките на Ако изявлението .
Ако използвате ИЛИ въведете няколко условия, обединете ги с ИЛИ .
И ако използвате И въведете няколко условия, обединете ги с И .
Например, за да проверите дали знакът в клетката B3 е по-голям от 40 и по-малко от 50 или не, използвайте:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then