EXCEL VBA'DA KOŞULLU BİÇİMLENDİRME

 

Excel VBA'da koşullu biçimlendirme, hücre biçimlendirmesini belirli ölçütlere göre belirleyen kuralları tanımlamayı ifade eder. Koşullu biçimlendirmeyle, belirli bir aralığa giren sayılar veya belirli bir eşiğin üzerindeki değerler gibi belirli koşulları karşılayan hücreleri vurgulayan kurallar oluşturabilirsiniz.

Excel VBA'da, hücrelere veya aralıklara biçimlendirme uygulamak için Koşullu Biçimlendirme formülünü kullanabilirsiniz. FormatConditions koleksiyonu bir koşullu biçimi temsil eder ve birden fazla biçim koşulunu tutabilir. Biçim koşullarını, FormatCondition nesnesinin sağladığı yöntemleri ve özellikleri kullanarak ayarlayabilirsiniz.

Aşağıdaki örneği ele alalım:

VBA Koşullu Biçimlendirme Giriş - Kod

Bu örnek, A1-A10 hücre aralığı arasında 5'ten büyük tüm hücre değerlerini kırmızıya boyar.

VBA Koşullu Biçimlendirme Giriş - Çıktı

ÖNEMLİ NOKTALAR

  • Excel VBA'daki koşullu biçimlendirme, hücrelere belirli ölçütlere göre biçimlendirme uygulamanıza olanak tanır.
  • Koşullu biçimlendirme, VBA'da FormatConditions koleksiyonunu kullanarak bir hücreye veya hücre aralığına uygulanabilir.
  • FormatConditions koleksiyonu koşullu bir biçimi temsil eder ve birden fazla biçim koşulunu tutabilir.
  • Her koşullu biçimlendirme için kuralları FormatConditions.Add metodunu kullanarak tanımlayabilir ve koşul, operatör ve ölçüt türlerini belirtebilirsiniz.
  • Her koşullu formatın biçimi, Interior.Color veya Font.Bold gibi özellikler kullanılarak tanımlanabilir.
  • Koşullu biçimlendirme, belirli bir eşik değerinden büyük veya ona eşit değerler , yinelenen değerler veya belirli anahtar sözcükler gibi çeşitli koşullara bağlı olarak uygulanabilir .

VBA kullanarak Koşullu Biçimlendirme nasıl kullanılır?

Excel VBA'da koşullu biçimlendirmeyi kullanmak için bir hücre aralığı tanımlayabilir ve ardından biçim koşullarını eklemek ve yapılandırmak için FormatConditions koleksiyonunu kullanabilirsiniz. Bunu yapmak için aşağıdaki adımları izleyin:

Adım 1: Excel'deki araç çubuğundaki "Geliştirici" sekmesine gidin ve "Visual Basic" seçeneğine tıklayın. Şimdi, VBA Editörü fonksiyonlar ve Alt prosedürler eklemek için açılır. Ardından, yeni bir modül veya boş sayfa oluşturmak için "Ekle" ve "Modül" düğmelerine tıklayın.

Geliştirici - Visual Basic
Ekle - Modül

10'dan büyük değerler için yeşil hücreleri vurgulamanız gereken bir örneği ele alalım.

VBA Koşullu Biçimlendirme - Kullanım - veri

Adım 2: 10'dan daha önemli hücreleri vurgulamak için bir alt rutin başlatın.

VBA Koşullu Biçimlendirme - Kullanım - Adım 2

Adım 3: Hücre aralığını ve aralığı biçimlendiren koşullu biçimi tanımlayın.

VBA Koşullu Biçimlendirme - Kullanım - Adım 3

Adım 4: Hücre aralığını tercihinize göre ayarlayın.

VBA Koşullu Biçimlendirme - Kullanım - Adım 4

Adım 5: Çakışmayı önlemek için daha önce var olan koşullu biçimlendirmeyi silin.

VBA Koşullu Biçimlendirme - Kullanım - Adım 5

Adım 6: Değer 10'u aşarsa hücrenin yeşil renklendirilmesi için koşulları ayarlayın.

VBA Koşullu Biçimlendirme - Kullanım - Adım 6
  • Burada formatlamanın yapılacağı türü xlCellValue olarak tanımlıyoruz, yani koşul hücre değerlerini kontrol edecek.
  • Operatör xlGreater olarak tanımlanmıştır çünkü bu, Excel VBA'nın Formül 1'deki "10" parametresinden daha büyük değerleri kontrol etmesi gerektiği anlamına gelir.
  • Eğer hücre değerleri 10'dan büyükse o hücre Yeşil renkle renklendirilir.

Kod:

Sub HighlightCells()
Dim rg As Range
Dim cond As FormatCondition
rg = Range(“A1:A20”)
rg.FormatConditions.Delete
Ayarla cond = rg.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:=”10″)
cond.Interior.ColorIndex = 4
End Sub

Adım 7: Araç çubuğundaki “F5” tuşuna veya Çalıştır düğmesine basarak kodu çalıştırın. Ardından tabloyu kontrol edin.

VBA Koşullu Biçimlendirme - Kullanım - Adım 7

Örnekler

VBA'da koşullu biçimlendirmenin uygulanmasına ilişkin bazı ilginç örneklere bakalım.

Örnek 1

Diyelim ki bir tablomuz var ve tek bir alt rutinde birden fazla koşul için VBA Koşullu Biçimlendirme gerçekleştirmemiz gerekiyor. Burada, 7'den büyük değerlere sahip hücreleri kırmızıyla vurguluyoruz. Ayrıca, hücre değeri 3'ten küçük hücreler için de aynısını maviyle yapıyoruz.

VBA Koşullu Biçimlendirme - Örnek 1

Adım 1: Birden fazla koşulla VBA Koşullu Biçimlendirmeyi uygulamak için bir alt rutin başlatın.

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 1

Adım 2: Koşullu biçimlendirmenin çalışacağı hücre aralığını depolamak için aralık değişkenini ayarlayın . VBA koşullu biçimlendirmesi için iki koşul belirleyin.

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 2

Adım 3: Daha önce bildirilen aralık değişkenindeki aralığı A2-A20 hücrelerine atayın.

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 3

Adım 4: Mevcut biçimlendirme koşullarını kaldırın.

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 4

Adım 5: İlk koşulu gösterildiği gibi başlatın:

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 5

Aşağıdaki gibi belirli parametreleri tanımlıyoruz:

  • Type – xlCellValue. Tablonun sayısal değerlerini kontrol etmek için yapılır.
  • Operatör – xlGreater. Verilen değerden büyük değerlere sahip hücreleri kontrol eder.
  • Formula1 – Koşulu tanımlamak için kullanılır. Burada operatör, verilen bir hücre değerinin 7'yi aşıp aşmadığını kontrol eder.
  • Yediden büyük bir hücre değeri bulunursa kırmızı renkle gösterilir.

Adım 6: İkinci koşulu başlatın.

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 6

Burada,

  • Type – xlCellValue. Tablonun sayısal değerlerini kontrol etmek için yapılır.
  • Operatör – xlLess. Verilen değerden daha küçük değerlere sahip hücreleri kontrol eder.
  • Formula1 – Koşulu tanımlamak için kullanılır. Burada operatör, verilen bir hücre değerinin 3'ten küçük olup olmadığını kontrol eder.
  • Üçten küçük bir hücre değeri bulunursa mavi renkle gösterilir.

Adım 7: Yukarıdaki tablo için kodu çalıştırın. Çıktı aşağıda gösterilmiştir:

VBA Koşullu Biçimlendirme - Örnek 1 - Adım 7

Kod:

Sub ConditionalFormattingMultipleConditions()
Dim rg As Range
Dim cond1 As FormatCondition
Dim cond2 As FormatCondition
Set rg = Range(“A2:A20”)
rg.FormatConditions.Delete
Set cond1 = rg.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:=”7″)
With cond1.Interior
.Color = RGB(255, 0, 0)
End With
Set cond2 = rg.FormatConditions.Add(Type:=xlCellValue, Operator:=xlLess, Formula1:=”3″)
With cond2.Interior
.Color = RGB(0, 0, 255)
End With

End Sub

Örnek 2

"C1" hücresindeki değere eşit olan yinelenen değerleri ve hücreleri vurgulamamız gereken bir tablo verildiğinde, bu, birden fazla koşulla VBA Koşullu Biçimlendirme gerçekleştirilerek yapılabilir. Yinelenen değerleri maviyle vurgulayıp yazı tipi rengini beyaza değiştiririz. "C1" hücresindeki sayıya eşit olan sayılar için bunları kırmızıyla vurgularız.

VBA Koşullu Biçimlendirme - Örnek 2

Adım 1: VBA koşullu biçimlendirme için yinelenen değerler ve başka bir hücre değerine dayalı VBA Koşullu Biçimlendirme için bir alt rutin geliştirin.

VBA Koşullu Biçimlendirme - Örnek 2 - Adım 1

Adım 2: VBA Koşullu biçimlendirme yinelenen değerler koşulunu gerçekleştireceğimiz bir hücre aralığı tanımlayın. Biçim koşulu parametrelerini depolamak için bir koşul tanımlayın. Yinelenen değerleri bulmak için bir UniqueValues ​​değişkeni kullanırız.

Örnek 2 - Adım 2

Adım 3: Koşullu biçimlendirmenin çalışacağı hücre aralığını tanımlayın.

VBA Koşullu Biçimlendirme - Örnek 2 - Adım 3

Adım 4: Karışıklığı önlemek için mevcut koşullu biçimlendirmeyi kaldırın.

Örnek 2 - Adım 4

Adım 5: İlk koşulu belirleyin.

Örnek 2 - Adım 5

Burada, başka bir hücre değeri olan C1'e dayalı VBA koşullu biçimlendirme gerçekleştiriyoruz. Parametrelerini şu şekilde tanımlıyoruz:

  • Type – xlCellValue. Tablonun sayısal değerlerini kontrol etmek için yapılır.
  • Operatör – xlEqual. Verilen değere eşit değerlere sahip hücreleri kontrol eder.
  • Formula1 – Koşulu tanımlamak için kullanılır. Burada, operatör verilen bir hücre değerinin “C1” hücresindeki hücre değerine eşit olup olmadığını kontrol eder.
  • Eğer “C1” hücresindeki değere eşit bir hücre değeri bulunursa kırmızı renkle gösterilir.

Adım 6: Benzersiz değerleri bulmak için ikinci koşulu ayarlayın. DupeUnique özelliğini “xlDuplicate” olarak değiştirerek tabloda yinelenen değerleri bulabiliriz.

Örnek 2 - Adım 6

Adım 7: Hücreyi mavi renge boyayarak, yazı rengini beyaz yaparak ve harfleri kalınlaştırarak yinelenen değerleri vurgulayın.

Örnek 2 - Adım 7

Adım 8: Yukarıdaki VBA kodunu yazdırın . Ardından çıktıyı görüntülemek için tabloyu kontrol edin.

Örnek 2 - Adım 8.jpg

Not: Burada, ilk koşul ikinci koşulu geçersiz kılar. Bu nedenle, yinelenen değerin koşulu kırmızıyla vurgulanan hücreleri etkilemez.

Kod:

Sub FindDuplicatesandHighlightEqual()
Dim rg As Range
Dim cond As FormatCondition
Dim uv As UniqueValues
Set rg = Range(“A1:A20”)
rg.FormatConditions.Delete
Set cond = rg.FormatConditions.Add(Type:=xlCellValue, Operator:=xlEqual, Formula1:=”=$C$1″)
With cond.Interior
.Color = RGB(255, 0, 0)
End With
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True

End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

Bir hücreye veya hücre aralığına koşullu biçimlendirme uygulamak için FormatConditions koleksiyonunu kullanın.

  • FormatConditions.Add metodunu kullanarak her koşullu format için kuralları tanımlayın ve koşul, operatör ve ölçüt türünü belirtin.
  • Her koşullu biçim için, Interior.Color veya Font.Bold gibi özellikleri kullanarak biçimi tanımlayın.
  • Koşullu biçimlendirme ile bir hücrenin rengini elde etmek için Interior.Color özelliğini doğrudan kullanmayın.
  • VBA koşullu biçimlendirme programında göreli hücre başvurularını kullanmayın, çünkü bu koşullu biçimlendirmenin yanlış ayarlanmasına neden olabilir.
  • Dağıtım amaçları için VBA koşullu biçimlendirmeyi kullanmayın; bu, olası Güven Merkezi sorunlarına yol açabilir.

1. Hücre boş değilse VBA koşullu biçimlendirme nasıl yapılır?

 Excel VBA'da bir hücre boş değilse koşullu biçimlendirme uygulamak için, hangi hücrelerin biçimlendirileceğini belirlemek üzere "Hücre Kurallarını Vurgula" seçeneğini veya bir formülü kullanın.
 Ayrıca, bir aralıktaki yinelenen değerleri belirlemek ve koşullu biçimlendirme uygulamak için AddUniqueValues ​​yöntemini de kullanabilirsiniz. Bunu başka bir hücre değerine göre uygulamak için, karşılaştırılacak değeri içeren hücreye başvurmak üzere Formula1 parametresini kullanabilirsiniz.
 Boş olmayan hücrelere koşullu biçimlendirme uygulamak için, FormatConditions.Add yöntemini kullanabilir ve karşılaştırılacak değeri içeren hücreye başvurmak üzere Formula1 parametresini belirtebilirsiniz.

2. VBA koşullu biçimlendirme büyük veya eşit nasıl yapılır?

 VBA koşullu biçimlendirmesini büyük veya eşit yapmak için FormatConditions.Add metodunu kullanabilir ve değerleri karşılaştırmak için Operatör parametresini xlGreaterEqual olarak belirtebilirsiniz.
 Daha sonra, FormatCondition nesnesinin Interior özelliğini kullanarak koşullu biçimlendirme için biçimi tanımlayabilirsiniz.

3. VBA'da boş hücreleri vurgulamak için koşullu biçimlendirme nasıl kullanılır?

 VBA'da boş hücreleri vurgulamak için koşullu biçimlendirmeyi kullanmak için FormatConditions.Add yöntemini kullanabilir ve Operatör parametresini xlEqual ve Formula1 parametresini "" olarak belirterek değerleri karşılaştırabilirsiniz. Ardından, FormatCondition nesnesinin Interior özelliğini kullanarak koşullu biçimlendirme için biçimi tanımlayabilirsiniz.
 Alternatif olarak, Koşullu Biçimlendirme menüsündeki "Hücre Kurallarını Vurgula" seçeneğini kullanabilir ve "Boş Hücreler" seçeneğini belirleyebilirsiniz.

4. VBA'da hücre koşullu biçimlendirmesinin rengi nasıl kontrol edilir?

 VBA'da koşullu biçimlendirmeyle bir hücrenin rengini kontrol etmek için DisplayFormat.Interior.Color özelliğini kullanabilirsiniz. Bu özellik, bir kuralın renklendirdiği bir hücrenin rengini almanıza olanak tanır.
 Ancak, Interior.Color özelliğini doğrudan kullanmak, uygulanan koşullu biçimlendirmeden kaynaklanan rengi vermeyebilir.
 Bunun yerine, koşullu biçimlendirmeyle bir hücrenin rengini almak için Range.DisplayFormat.Interior.Color özelliğini kullanabilirsiniz.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...