EXCEL VBA'DA FONT COLOR [YAZI TİPİ RENGİ]

 

Excel VBA'da (Visual Basic for Applications), hücrelerdeki metnin yazı tipi rengini değiştirmek için Font.Color özelliğini kullanabilirsiniz. Bu özellik, bir hücredeki metnin rengini değiştirmenize, onu görsel olarak daha çekici hale getirmenize veya belirli bilgileri vurgulamanıza olanak tanır.


Bu örnekte, "A1" hücresindeki yazı tipi rengini değiştirmek için RGB'yi kullanan VBA yazı tipi renk kodlarını kullanıyoruz.

Excel VBA Yazı Tipi Rengi Tanımı 1
Excel VBA Yazı Tipi Rengi Tanımı 1-1

Yazı tipi rengini kırmızıya değiştirir. VBA kodunu çalıştırdıktan sonra , yazı tipi renginin aşağıda görüldüğü gibi değiştiğini görebilirsiniz.

Excel VBA Yazı Tipi Rengi Tanımı 1-2

ÖNEMLİ NOKTALAR

  • VBA'da verilerinizin görsel görünümünü geliştirmek için Excel'deki hücrelerin yazı tipi rengini değiştirebilirsiniz.
  • Tek bir hücrenin veya hücre aralığının yazı tipi rengini ayarlamak için Font.Color özelliğini kullanın.
  • Renkler RGB fonksiyonu kullanılarak veya vbRed, vbBlue ve diğerleri gibi önceden tanımlanmış renk sabitleri kullanılarak belirtilebilir.
  • Koşullu ifadeleri kullanarak, hücre değerleri veya belirli anahtar sözcüklerin varlığı gibi belirli koşullara veya ölçütlere göre yazı tipi rengini değiştirebilirsiniz.
  • ColorIndex özelliği, Excel'de önceden tanımlanmış renk indeksi değerlerini kullanarak yazı tipi renklerini ayarlamanıza olanak tanır.
  • Bir hücrenin yazı tipi rengini başka bir hücrenin yazı tipiyle eşleştirmek için Font.Color özelliğini kaynak hücreden alıp hedef hücreye atayabilirsiniz.

VBA Kullanarak Yazı Rengi Nasıl Değiştirilir?

Verilen koşullara göre VBA Font Renginin otomatik olarak nasıl ayarlanacağını öğrenmek için aşağıdaki adımları izleyin.

Adım 1: Yeni bir Çalışma Kitabı oluşturun. Bunun için Excel araç çubuğundaki “Geliştirici” bölümüne gidin . Ardından, geliştirici sekmesinde “Visual Basic”i seçin.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 1

VBA (Visual Basic for Applications) Editörü açılacaktır. Başlık çubuğunda “Ekle” düğmesine tıklayın ve “Modül” seçeneğini seçin.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 2

Bu örnekte, verilen aralıktaki pozitif ve negatif sayıları ayırmak istiyorsunuz. Bu, VBA Font Color özelliği kullanılarak yapılabilir.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 3

Adım 2: Pozitif ve negatif sayıları kategorize etmek için bir alt prosedür tanımlayın.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 4

Adım 3: Bir Çalışma Sayfası değişkeni tanımlayın ve bu alt prosedürün çalışacağı çalışma sayfasını ayarlayın.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 5

Adım 4: Üzerinde çalışılacak tablo için bir aralık başlatın. Daha önce tanımlanan değişkenle çalışacağı çalışma sayfasını belirtin.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 6

Adım 5: Aralık boyunca bir FOR döngüsü bildirmeye başlayın.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 7

VBA'da hücre değerinin 0'dan küçük olup olmadığını kontrol eden bir If – Else ifadesi tanımlayın , ardından o hücre değeri için VBA Yazı Rengi kodlarını kırmızı olarak ayarlayın.

Pozitif değerler için Else koşulunu tanımlayın ve VBA Yazı Rengini aşağıda gösterildiği gibi siyah tutun.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 8

Kod:

Sub ChangeFontColorBasedOnCondition()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets(“Sheet3”)

    Dim trange As Range

    Set trange = ws.Range(“B1:B10”)

    For Each cell In trange

        If cell.Value < 0 Then

            cell.Font.Color = vbRed

        Else

            cell.Font.Color = vbBlack

        End If

    Next cell

End Sub

Adım 7: VBA Editöründeki araç çubuğundaki “F5” tuşuna veya yeşil düğmeye basarak VBA kodunu çalıştırın.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 9

Çıktıyı görüntülemek için çalışma sayfasına geri dönün.

Yazı Tipi Rengi Nasıl Değiştirilir - Adım 10

VBA Yazı Tipi Rengi kodlarının değiştirilebileceği farklı yolları gösteren bazı heyecan verici örneklere bakalım.


Örnekler

Aşağıdaki örneklerde Font.Color özelliğinin farklı kullanım şekillerini görün.

Örnek 1 – Renk indeksini kullanarak VBA Yazı Tipi Rengi

Bir dizi değer verildiğinde, bunları VBA Font.ColorIndex fonksiyonunu ( Color Index ) kullanarak farklı renklere dönüştürmemiz gerekir . Excel VBA'da yaklaşık 56 renk indeksi olduğu bilinen bir gerçektir. Bu, satırlar arasında çalışan bir FOR döngüsü kullanılarak görüntülenebilir.

Örnek 1 - Adım 1

Adım 1: Öncelikle alt rutini 56 yazı renginin hepsini gösterecek şekilde adlandırın.

Örnek 1 - Adım 2

Adım 2: Bu alt rutinin üzerinde çalışacağı çalışma sayfasına bir isim verin.

Örnek 1 - Adım 3

Adım 3: Bu alt rutinin çalışacağı değer aralığını ayarlayın.

Örnek 1 - Adım 4

Adım 4: Yinelemeli bir değişken başlatın ve bir FOR döngüsü başlatın.

Örnek 1 - Adım 5

Adım 5: Hücre değerlerinin 56'dan küçük veya eşit olup olmadığını kontrol edin ve hücrelerde verilen değerlere göre doldurun.

Örnek 1 - Adım 6

Ayrıca daha fazla görünürlük için yazı tipini isteğe bağlı olarak kalınlaştırabilirsiniz.

Kod:

Sub ShowAllFontColorNumbers()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets(“Sheet4”)

    Dim targetRange As Range

    Set targetRange = ws.Range(“A1:D14”)

    Dim c As Range

    For Each c In targetRange

        If c.Value <= 56 Then

            c.Font.ColorIndex = c.Value

            c.Font.Bold = True

        End If

    Next c

End Sub

Adım 6: Yukarıdaki kodu F5'e basarak çalıştırın. Kodu çalıştırdıktan sonra çıktıyı görüntülemek için çalışma sayfasına geri dönün.

Örnek 1 - Adım 7

Yukarıdaki tablodan şu sonucu çıkarabiliriz:

  • VBA Yazı Rengi Siyah İndeks 1'dir.
  • VBA Yazı Rengi Beyaz İndeks 2'dir.

Örnek 2 – ColorProperty Kullanarak VBA Yazı Tipi Rengi

Pozitif, negatif, sıfır ve sayısal olmayan değerlerden oluşan bir tablo verildiğinde, her değer türünü farklı yazı renklerine göre kategorilere ayırabilirsiniz.

Örnek 2 - Adım 1

Adım 1: Farklı kategorilere göre yazı tipi rengini değiştirmek için bir alt prosedür tanımlayın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 2

Adım 2: Bir çalışma sayfası değişkeni tanımlayın ve bu değişkeni bu alt prosedürün çalışacağı çalışma sayfasına başlatın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 3

Adım 3: Alt rutinin çalışacağı aralığı tanımlayın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 4

Adım 4: Yinelemeli bir değişken başlatın ve bunu bir FOR döngüsünü başlatmak için kullanın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 5

Adım 5: Değerin sayısal, yani bir sayı olup olmadığını kontrol edin. Ardından, bir double VBA veri türü başlatın ve bunu hücre değerinin tamsayı değerine atayın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 6

Excel VBA'daki Val() fonksiyonu, bir dize veya değişken veri türünü hassas bir şekilde kayan nokta değerine dönüştürmek için kullanılır.

Adım 6: Önceki adımda atanan değişkenle birden fazla koşulu kontrol etmek için bir Switch Case ile başlayın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 7

Adım 7: Anahtar durumundaki koşulları tanımlayın.

VBA Yazı Tipi Rengi Örneği 2 - Adım 8
  • Eğer değer 0'dan küçük ise yazı rengi macentaya dönüşür.
  • Eğer değer 0'a eşitse yazı rengi maviye döner.
  • Eğer değer 0'dan büyükse yazı rengi yeşile döner.
  • Koşullardan hiçbiri sağlanmıyorsa (sayısal olmayan değerler) yazı rengi aynı, yani siyah kalır.

Adım 8: IsNumeric fonksiyonu için If koşulunu sonlandırın ve FOR döngüsüne devam edin.

VBA Yazı Tipi Rengi Örneği 2 - Adım 9

Kod:

Sub ChangeFontColorBasedOnCategories()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets(“Sheet1”)

    Dim targetRange As Range

    Set targetRange = ws.Range(“A1:A10”)

    Dim cell As Range

    For Each cell In targetRange

        If IsNumeric(cell.Value) Then

            Dim cellValue As Double

            cellValue = Val(cell.Value)

            Select Case cellValue

                Case Is < 0

                    cell.Font.Color = vbMagenta

                Case 0

                    cell.Font.Color = vbBlue

                Case Is > 0

                    cell.Font.Color = vbGreen

                Case Else

                    cell.Font.Color = vbBlack

            End Select

        End If

    Next cell

End Sub

Adım 9: Alt prosedürü çalıştırın ve ardından çıktıyı görüntülemek için çalışma sayfasına gidin.

Örnek 2 - Adım 10

Örnek 3 – RGB Fonksiyonlu VBA Renk Özelliği

İşte "Kritik" aktiviteleri önceliklendirmek için vurgulamanız gereken bir örnek. Bu , VBA'da RGB Fonksiyonlu Font Rengi kullanılarak yapılabilir .

Örnek 3 - Adım 1

Adım 1: “Kritik” aktivitelerin yazı tipi rengini değiştirmek için bir alt prosedür tanımlayın.

VBA Yazı Tipi Rengi Örneği 3 - Adım 2

Adım 2: Bu alt prosedürün üzerinde çalışacağı çalışma sayfasına bir isim verin.

VBA Yazı Tipi Rengi Örneği 3 - Adım 3

Adım 3: Bu alt prosedürün çalışacağı tablonun aralığını tanımlayın.

Örnek 3 - Adım 4

Adım 4: Yazı tipi rengini değiştirmek istediğiniz metni bir dize değişkeninde tanımlayın.

Örnek 3 - Adım 5

Adım 5: Tabloda çalışacak bir for döngüsü tanımlayın.

VBA Yazı Tipi Rengi Örneği 3 - Adım 6

Adım 6: If-Else ifadesini kullanarak hücre değerinin aranan metne karşılık gelip gelmediğini kontrol edin.

Örnek 3 - Adım 7

Eğer doğruysa VBA Font rengini kırmızıya değiştirin.

Adım 7: Bir Else koşulu başlatın; aksi takdirde, diğer hücrelerdeki yazı tiplerini yeşil olarak değiştirin.

VBA Yazı Tipi Rengi Örneği 3 - Adım 8

Kod:

Sub ChangeFontColorBasedOnText()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets(“Sheet5”)

    Dim targetRange As Range

    Set targetRange = ws.Range(“A1:A10”)

    Dim searchText As String

    searchText = “Critical”

    For Each cell In targetRange

        If cell.Value = searchText Then

            cell.Font.Color = RGB(255, 0, 0)

        Else

            cell.Font.Color = RGB(0, 255, 0)

        End If

    Next cell

End Sub

Adım 8: Yukarıdaki VBA kodunu çalıştırın. Ardından çalışma sayfasına gidin ve çıktıyı görün.

Örnek 3 - Adım 9

Dikkat Edilmesi Gereken Önemli Noktalar

  • Yanlış veya beklenmeyen verilerden kaynaklanan sorunları önlemek için, yazı tipi renkleriyle değiştirdiğiniz hücrelerdeki verilerin geçerli ve tutarlı olduğundan emin olun.
  • Okunabilirliği korumak için hücrenin arka plan rengine karşı yeterli kontrast sunan yazı tipi renklerini seçin. Yetersiz kontrast, verilerin yorumlanmasını zorlaştırabilir.
  • Renk seçimlerinin çeşitli Excel sürümlerinde veya yazdırıldığında farklı şekilde işlenebileceğini unutmayın. Tutarlılığı sağlamak için kodunuzu farklı platformlarda test edin.
  • Özellikle önemli sayıda hücreyle çalışırken, yazı tipi rengi değişikliklerinin verimli bir şekilde yürütülmesi için VBA kodunuzu optimize edin. Verimsiz kod Excel uygulamanızı yavaşlatabilir.

1) VBA'da bir koşula bağlı olarak yazı rengi nasıl değiştirilir?

VBA'da Font.Color özelliğini kullanın. Koşulunuzu değerlendirin. Font.Color'ı koşula göre istediğiniz renge ayarlayın. Örneğin,

If cell.Value < 0 Then
cell.Font.Color = RGB(255, 0, 0)
End If

Hücredeki yazı tipi rengini negatif bir değerse kırmızıya ayarlar. "Hücre" değişkeni tanımlanmış herhangi bir aralık olabilir.

2) VBA'da hücre değerine göre yazı rengi nasıl değiştirilir?

Font.Color özelliğini kullanarak: yazı tipi renginizi değiştirmek istediğiniz hücre değerini belirtin ve ardından rengi değiştirin. Örneğin,

If cell.Value = “Important” Then
cell.Font.Color = RGB(0,255,0)
End If

“Important” dizesine sahip hücrenin yazı tipi renginin yeşil renkte olmasını sağlar.

3) VBA'da bir hücre aralığının yazı rengi nasıl değiştirilir?

Set kullanarak aralığı tanımlayın. Hücreler arasında yineleme yapmak için bir döngü kullanın. Font.Color özelliğini istediğiniz renge ayarlayın. Örneğin, cell.Font.Color = RGB(0, 128, 0) rengi yeşile ayarlar.

4) VBA'da bir hücrenin yazı rengini başka bir hücrenin rengiyle eşleşecek şekilde nasıl değiştirebilirim?

Kaynak hücrenin Font.Color özelliğini alın. Bu renk değerini hedef hücrenin Font.Color'ına atayın.

Örnek kullanım şu şekilde görünecektir:
targetCell.Font.Color = sourceCell.Font.Color

Yorum Gönder

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