Vba: yinelenen değerlere koşullu biçimlendirme uygulayın


Belirli bir aralıktaki yinelenen değerlere koşullu biçimlendirme uygulamak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:

 Sub ConditionalFormatDuplicates()

Dim rg As Range
Dim uv As UniqueValues

'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate

'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True

End Sub

Bu özel örnek, Excel’deki geçerli sayfanın A2:A11 aralığındaki yinelenen değerlere koşullu biçimlendirme uygular.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Yinelenen Değerlere Koşullu Biçimlendirme Uygulamak için VBA’yı Kullanma

Excel’de aşağıdaki değer sütununa sahip olduğumuzu varsayalım:

A sütunundaki yinelenen değerlere aşağıdaki koşullu biçimlendirmeyi uygulamak istediğimizi varsayalım:

  • Mavi arka plan
  • Siyah metin
  • Kalın yazı

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub ConditionalFormatDuplicates()

Dim rg As Range
Dim uv As UniqueValues

'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate

'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True

End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

A sütunundaki her hücreye yinelenen değerle koşullu biçimlendirmenin uygulandığını unutmayın.

Farklı bir hücre aralığına koşullu biçimlendirme uygulamak istiyorsanız makrodaki A2:A11’i farklı bir aralıkla değiştirmeniz yeterlidir.

Ayrıca, geçerli sayfadaki hücrelerdeki tüm koşullu biçimlendirmeyi kaldırmak istiyorsanız, bunu yapmak için aşağıdaki makroyu oluşturabilirsiniz:

 Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Hücrelerdeki tüm koşullu biçimlendirmelerin kaldırıldığını unutmayın.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Aralıktaki benzersiz değerler nasıl sayılır?
VBA: Belirli bir metin içeren hücreler nasıl sayılır?
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir