Aşağıda, bir dinamik aralığın maksimum değerini renklendiren bir Excel VBA programına bakacağız.
Örnek:
Her sayı eklediğimizde ve komut düğmesine tıkladığımızda, Excel VBA’nın bu sayıların maksimum değerini renklendirmesini istiyoruz.
Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:
- İlk olarak, bir değişken ve iki Range nesnesi tanımlıyoruz. Double türünde bir değişkene maksimum diyoruz. Range nesnelerini aralik ve hucre olarak adlandırırız.
Dim maksimum As Double, aralik As Range, hucre As Range
Code language: VB.NET (vbnet)
- Tüm hücrelerin arka plan rengini ‘Dolgu Yok’ olarak değiştiren satırı ekliyoruz.
Cells.Interior.ColorIndex = 0
Code language: VB.NET (vbnet)
- Rakamlarla aralik’ı başlatıyoruz. Bunun için CurrentRegion özelliğini kullanırız. CurrentRegion, bir aralığın tam sınırlarını önceden bilmediğimizde kullanışlıdır.
Set aralik = Range("A1").CurrentRegion
Code language: VB.NET (vbnet)
- Maksimum’u sayıların maksimum değeri ile başlatıyoruz. Maksimum değeri bulmak için çalışma sayfası işlevi olan MAX’i kullanırız.
maksimum = WorksheetFunction.Max(aralik)
Code language: VB.NET (vbnet)
- Son olarak maksimum değeri renklendiriyoruz. For Each Next döngüsü kullanıyoruz.
For Each hucre In aralik
If hucre.Value = maksimum Then hucre.Interior.ColorIndex = 22
Next hucre
Code language: VB.NET (vbnet)
Not: ColorIndex numarası 22 (kırmızı) yerine başka bir ColorIndex numarası kullanabilirsiniz.
- Bir sayı ekleyin.
Sayfadaki komut düğmesine tıkladığınızda sonuç:
Tüm kodlar:
Private Sub CommandButton1_Click()
Dim maksimum As Double, aralik As Range, hucre As Range
Cells.Interior.ColorIndex = 0
Set aralik = Range("A1").CurrentRegion
maksimum = WorksheetFunction.Max(aralik)
For Each hucre In aralik
If hucre.Value = maksimum Then hucre.Interior.ColorIndex = 22
Next hucre
End Sub
Code language: VB.NET (vbnet)