Tabloda Boş Alana İlgili Satırdaki En Küçük Değeri Yazdırma

iskitoxin

Altın Üye
Katılım
16 Şubat 2008
Mesajlar
23
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
04-09-2025
Merhaba;

Ekli dosyada görebileceğiniz gibi bir tablo var burada boş veya "0" olan hücrelere ilgili satırdaki en düşük değeri farklı dolgu ve farklı renk ile yazdırmak istiyorum.

Örnek dosya üzerinden gidersek bu işlemin E2 ile L74 hücrelerinde çalışmasını;
H3 deki boş veya "0" olan değerin yerine ilgili satırdaki en düşük değer olan E3 deki değeri yazdırmak istiyorum. Bunu yazarken de misal Turuncu dolguya Kırmızı yazı tipi rengi şeklinde yazdırmak istiyorum.

burada nasıl bir yol izlemem gerekir formül mü makro mu gerekir. Yardımcı olabilir misiniz?

Şimdiden teşekkürler,
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aşağıdaki kodu bir modüle içine ekleyip, Makroyu renklendirmek istedğiniz sayfa içindeyken tetiklemeniz yeterli olacaktır.
Not: sorunuzda 3. satır için minimum değeri E3 diye belirtmişsiniz ancak L3 daha küçük.

C++:
Sub MinimumDegerYaz()
    For i = 2 To 74
        Kontrol = WorksheetFunction.CountIf(Range("E" & i).Resize(1, 8), 0)
        If Kontrol > 0 And Kontrol < 8 Then
            Minimum = WorksheetFunction.Small(Range("E" & i).Resize(1, 8), Kontrol + 1)
            For k = 5 To 12
                If Cells(i, k) < Minimum Then
                    Cells(i, k) = Minimum
                    Cells(i, k).Interior.ColorIndex = 3
                    Cells(i, k).Font.ColorIndex = 44
                End If
            Next k
        End If
    Next i
End Sub
 

iskitoxin

Altın Üye
Katılım
16 Şubat 2008
Mesajlar
23
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
04-09-2025
Doğrusunuz Ömer Faruk Bey, L3 daha küçük.
Orijinal dosyada H dan başladığı için kodda aşağıdaki gibi değişiklik yaptım. Sorunsuz çalıştı. Çok teşekkür ederim.

C++:
Sub MinimumDegerYaz()
    For i = 2 To 74
        Kontrol = WorksheetFunction.CountIf(Range("H" & i).Resize(1, 8), 0)
        If Kontrol > 0 And Kontrol < 8 Then
            Minimum = WorksheetFunction.Small(Range("H" & i).Resize(1, 8), Kontrol + 1)
            For k = 8 To 15
                If Cells(i, k) < Minimum Then
                    Cells(i, k) = Minimum
                    Cells(i, k).Interior.ColorIndex = 3
                    Cells(i, k).Font.ColorIndex = 44
                End If
            Next k
        End If
    Next i
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Rica ederim. Kolay gelsin.
 
Üst