String Hücrenin Koşulla Rengini Değiştirme

Katılım
18 Nisan 2022
Mesajlar
23
Excel Vers. ve Dili
Sürüm 2203, Türkçe
Merhaba,
Elimde bulunan sayıların; önce negatif olanlarını "Negatif" şeklinde değiştirmek, geriye kalanların da hücre içi rengini ve yazı rengini değiştirmek için bir makro yazdım.
Kod:
Sub foreach_negatif()
Dim i As Range
    For Each i In Range("A1:E4")
        If i < 0 Then
            i.Value = "Negatif"
        ElseIf i >= 0 Then
            Range("A1:E4").Interior.ColorIndex = 4
            Range("A1:E4").Font.ColorIndex = 33
        End If
    Next i
End Sub
Kodun Çıktısı Haline geldi fakat negatif yazan kısımları yukarıda yazdığım koşulun dışında tutarak renklendirmeden muaf olmasını istiyorum. Sanırım aynı bir Else-if yapısıyla bunu çözebilirim fakat Negatif yazan kısımları koda nasıl entegre edeceğimi çözemedim. Yardımcı olabilecek var mı?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz.
Kod:
Sub foreach_negatif()
    Dim i As Range
    For Each i In Range("A1:E4")
        If i < 0 Then
            i.Value = "Negatif"
        ElseIf i >= 0 And IsNumeric(i) Then
            i.Interior.ColorIndex = 4
            i.Font.ColorIndex = 33
        End If
    Next i
End Sub
Not: Alanı renklendirdikten sonra, alandaki herhangi bir hücreye sıfırdan küçük değer girerseniz bile kodları yeniden çalıştırırsanız hücre renkli olacaktır. Çünkü kodlarınızda bunun önlemi alınmamış. Belki bilerek almamışsınızdır diye ben değiştirmedim.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Siz A1:E4 alanını her durumda renklendiriyorsunuz.

Bunu deneyiniz.
C++:
Sub foreach_negatif()
Dim i As Range
    For Each i In Range("A1:E4")
        If i < 0 Then
            i.Value = "Negatif"
        GoTo 10
        ElseIf i >= 0 Then
            i.Interior.ColorIndex = 4
            i.Font.ColorIndex = 33
10
        End If
    Next i
End Sub
 
Katılım
18 Nisan 2022
Mesajlar
23
Excel Vers. ve Dili
Sürüm 2203, Türkçe
@Ömer Anladım hocam, çok teşekkürler
@uzmanamele Çok teşekkürler şimdi anladım
 
Üst