Excel VBA: Изявление If въз основа на стойността на клетката (2 практически примера)

  • Споделя Това
Hugh West

В тази статия ще ви покажа как можете да използвате Ако изявлението в 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 

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.