• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücre renkli ise "0" sıfır yazsın

Katılım
17 Temmuz 2006
Mesajlar
21
Merhaba, hücre renkli ise sıfır yazmasını istiyorum. hücrenin rengi önemli değil. dolgu olmayan hücreye nasıl sıfır yazdırabilirim.

şimdiden teşekkürler saygılar.
 
Merhaba,

Mesajınızda iki çelişkili ifade kullanmışsınız..

"hücre renkli ise sıfır yazmasını istiyorum."
"dolgu olmayan hücreye nasıl sıfır yazdırabilirim."

Burada önemli olan hücrelerin rengi nasıl aldığıdır.. Elle ya da koşullu biçimlendirme durumuna göre kod yazılabilir..
 
Merhaba,

Mesajınızda iki çelişkili ifade kullanmışsınız..

"hücre renkli ise sıfır yazmasını istiyorum."
"dolgu olmayan hücreye nasıl sıfır yazdırabilirim."

Burada önemli olan hücrelerin rengi nasıl aldığıdır.. Elle ya da koşullu biçimlendirme durumuna göre kod yazılabilir..

Kalın fontlu cümlem için bir bildirim yapmamışsınız..
 
Sayın Korhan,
Değerli uyarınız için teşekkürler. Elle boyamalar yapıldığında. Her hangi bir koşul veya otomatik boyama yok.
 
Aşağıdaki kod tanımlı alan içindeki verileri önce temizler sonra renkli hücrelere sıfır yazar.

Kullanım durumunuza göre revize edebilirsiniz.

C++:
Option Explicit

Sub Write_Zeros_In_Colored_Cells()
    Dim My_Area As Range, Rng As Range
    
    Set My_Area = Range("A1:Z1000")
    
    My_Area.ClearContents
    
    For Each Rng In My_Area
        If Rng.Interior.ColorIndex <> xlNone Then
            Rng.Value = 0
        End If
    Next
    
    MsgBox "Renkli hücrelere sıfır yazdırma işlemi tamamlanmıştır.", vbInformation
End Sub
 
Sayın Korhan Bey
Tam istediğim gibi olmuş elinize sağlık. Uygulama alanına göre hücre değerlerini değiştirdim. Çok teşekkür ederim.
 
Sayın Korhan Bey

Mevcut kod çok işime yaradı. Geliştirmke istesem; boyasızlara (Dolgu rengi olmayanlara) "1" Boyalı olanlara "0" yazacak şekilde yapabilir miyiz?
Şimdiden teşekkürler
 
Kod içinde geçen "IF..." ile başlayan satır sorgu satırıdır. Burayı aşağıdaki gibi düzenleyebilirsiniz.

C++:
If Rng.Interior.ColorIndex <> xlNone Then
    Rng.Value = 0
Else
    Rng.Value = 1
End If
 
Aşağıdaki kod tanımlı alan içindeki verileri önce temizler sonra renkli hücrelere sıfır yazar.

Kullanım durumunuza göre revize edebilirsiniz.

C++:
Option Explicit

Sub Write_Zeros_In_Colored_Cells()
    Dim My_Area As Range, Rng As Range
   
    Set My_Area = Range("A1:Z1000")
   
    My_Area.ClearContents
   
    For Each Rng In My_Area
        If Rng.Interior.ColorIndex <> xlNone Then
            Rng.Value = 0
        End If
    Next
   
    MsgBox "Renkli hücrelere sıfır yazdırma işlemi tamamlanmıştır.", vbInformation
End Sub
Korhan Bey Merhaba
Renklendirme işlemi (kırmızı) el ile değil de koşullu biçimlendirme ile yapılınca kodları nasıl revize etmek gerek.
 
Aşağıdaki gibi deneyiniz.

C++:
Option Explicit

Sub Write_Zeros_In_Colored_Cells()
    Dim My_Area As Range, Rng As Range
   
    Set My_Area = Range("A1:Z1000")
   
    My_Area.ClearContents
   
    For Each Rng In My_Area
        If Rng.DisplayFormat.Interior.ColorIndex <> xlNone Then
            Rng.Value = 0
        End If
    Next
   
    MsgBox "Renkli hücrelere sıfır yazdırma işlemi tamamlanmıştır.", vbInformation
End Sub
 
Aşağıdaki gibi deneyiniz.

C++:
Option Explicit

Sub Write_Zeros_In_Colored_Cells()
    Dim My_Area As Range, Rng As Range
  
    Set My_Area = Range("A1:Z1000")
  
    My_Area.ClearContents
  
    For Each Rng In My_Area
        If Rng.DisplayFormat.Interior.ColorIndex <> xlNone Then
            Rng.Value = 0
        End If
    Next
  
    MsgBox "Renkli hücrelere sıfır yazdırma işlemi tamamlanmıştır.", vbInformation
End Sub
Teşekkürler Korhan Bey
 
Sayın Korhan Bey
ilgili sütunda, aşağıya doğru birden fazla zemin rengi olduğunu düşündüğümüzde, rengin koduna göre 0 veya 1 yazdırabilir miyim?
Örneğin;
zemin rengi sarı ise 1, kırmızı ise 1, mavi ise o gibi...

şimdiden çok teşekkür ederim.
 
Zemin rengini nasıl veriyorsunuz?
 
Sayın Korhan Bey
Yoğunluktan yeni dönüş yapabildim, kusuruma bakmayın. Manuel dolgu rengi ile boyanıyor. ,

Saygılar
 
Geri
Üst