Excel VBA: Hücre Değerine Dayalı If Deyimi (2 Pratik Örnek)

  • Bunu Paylaş
Hugh West

Bu makalede, size nasıl bir Eğer ifade içinde VBA Excel'de bir hücre değerine dayalı olarak.

Excel VBA: Hücre Değerine Dayalı If Deyimi (Hızlı Görünüm)

 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 

Alıştırma Çalışma Kitabını İndirin

Bu makaleyi okurken egzersiz yapmak için bu alıştırma çalışma kitabını indirin.

Hücre Değerine Dayalı If Deyimi.xlsm

Excel VBA'da Hücre Değerine Dayalı If Deyimi

Burada, aşağıdakileri içeren bir çalışma sayfamız var isimler ve işaretler Bir okulun bazı öğrencilerinin sınavda başarılı olması.

Amacımız, bu programın nasıl kullanılacağını öğrenmektir. Eğer ifade Excel'de VBA bu veri kümesindeki bir hücre değerini temel alır.

1. Excel VBA'da Tek Bir Hücrenin Hücre Değerine Dayalı If Deyimi

Öncelikle, tek bir hücrenin değerine dayalı bir If deyimi kullanmayı öğreneceğiz.

Örneğin, Natalia Austin'in sınavı geçip geçmediğini, yani hücredeki işaretin C3 'den büyüktür. 40 ya da değil.

Sütun D öğrencilerin sonucunu içerir. Yani, eğer hücre C3 40'tan büyük bir işaret içeriyorsa, hücre D3 şunları içerecektir "Geçti" . Aksi takdirde, şunları içerecektir "Başarısız" .

Biz bir VBA Menzil nesnesini oluşturmak için Eğer ifade hücre değerini temel alır.

Bu VBA bunun için kod olacak:

⧭ VBA Kodu:

 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 

⧭ Çıkış:

Kodu şuradan çalıştırın Sub / UserForm Çalıştır aracında VBA araç çubuğu.

Hücre yapacak D3 içerir "Başarısız" , hücredeki işaret olarak C3 daha azdır 40 ( 32 ).

2. Excel VBA'da Bir Hücre Aralığının Değerlerine Dayalı If Deyimi

Ayrıca şunları da kullanabilirsiniz Eğer ifade 'deki bir hücre aralığının değerlerine dayalı olarak VBA kullanabilirsin. for-loop bu amaç için.

Örneğin, burada tüm öğrencilerin sonucunu tek bir kodla bulabiliriz. for-loop aralığındaki tüm hücreleri kontrol edecek C3:C12 ve karşılık gelen bir sonuç döndürür, "Geçti" veya "Başarısız" .

Bu VBA bunun için kod olacak:

⧭ VBA Kodu:

 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 

⧭ Çıkış:

Kodu şuradan çalıştırın Sub / UserForm Çalıştır aracında VBA araç çubuğu. "Geçti" 'den büyük olan işaretler için 40 ve daha düşük olanlar için "Başarısız" n 40 .

Hatırlanması Gerekenler

Burada bir tane gösterdim Eğer ifade Ancak isterseniz, bir koşul içinde birden fazla koşul kullanabilirsiniz. Eğer ifade .

Eğer kullanıyorsanız VEYA birden fazla koşul yazın, bunları bir VEYA .

Ve eğer kullanırsanız VE birden fazla koşul yazın, bunları bir VE .

Örneğin, hücredeki işaretin B3 'den büyüktür. 40 ve daha az 50 ya da değil, kullan:

 Eğer (Range("C3").Value> 40 Veya Range("C3").Value <50) Sonra 

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.