İçindekiler
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.xlsmExcel 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