Makro İle Hücre İçeriğine Şartlı Yazma ve Renklendirme

Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Herkese Merhaba,
Yaptığım bir çok dosyalarda çok sık kullandığımız hücreye şartlı yazma ve boyama işlevini çok kullanıyorum. Bunu formüllerle çözüyorum. Ancak bazen hücreyi koşullu boyadığımda bazen sorunlar çıkıyor. Bununla ilgili Makroları taradım. İstediğim gibi sonuç alamadım.

Aslında istediğim çok sade bir makro. Ben onu istediğim gibi çoğaltabileyim. Ekte örnek dosyada da görüleceği gibi; ÖRN:

P5=1 ise L11'e X işareti koysun, değilse L11 hücresini açık bir renke boyasın (transparan renk olabilir)

P5=1 ise M11'e X işareti koysun, değilse M11 hücresini açık bir renke boyasın

P5>0 ise M12'ye X işareti koysun, değilse M12 hücresini açık bir renke boyasın

P5=2 veya P5=5 veya P5=8 veya P5=11 ise N11'e X işareti koysun değilse
N11 hücresini açık bir renke boyasın

P5=1 ise P11'e X işareti koysun, değilse P11 hücresini açık bir renke boyasın .... GİBİ

W11'de sayı varsa onu G11'e yazsın. değilse W11 hücresini açık bir renke boyasın W12'de sayı varsa onu G12'ye yazsın, değilse W12 hücresini açık bir renke boyasın .......GİBİ


Bir adet makro içinde bu örneklere kod yazılırsa bende istediğim gibi çoğaltabilirim.

Herkese teşekkür saygılar sunarım.
 

Ekli dosyalar

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,218
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Eki deneyin.
İyi çalışmalar.
 

Ekli dosyalar

Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
MUygun çok teşekkür ederim deneyeceğim. Ellerinize sağlık.
İyi çalışmalar
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Koşula göre hücre içeriğini silip sarıya boyamıyor.

Merhaba MUygun,

Öncelikle tekrar çok teşekkür ederim. Sizin yazdığınız kodlarda sorun yok ancak ekte size göre yazmaya çalıştığım kodlarda küçük bir hata var sanırım ama göremedim. Ayrıntı dosya içeriğinde de var.

BS5 Her değiştiğinde

Sheets("Liste").Range("BS11:CN89").ClearContents Sheets("Liste").Range("BS11:CN89").Interior.ColorIndex = xlNone
Geçerli olan bu alanı silmiyor sanki.

Manuel olarak bu alanı her BS5 değerinden sonra silersem hiç bir sorun olmuyor. Program eksiksiz çalışıyor.

Kısaca BS5 değerini yazıp enter tuşuna bastığımızda bu alanı slip yeniden BS5 değerine göre işlem yapsın.

Ellerinize sağlık diliyorum. Çok teşekkürler
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Başka bir sorun var mıdır bilemiyorum ama, kod'daki (hücreleri temizle açıklaması bulunan)
Sheets("Liste").Range("BS11:CN89").ClearContents satırını
yerine Sheets("Liste").Range("BS11:CN89") = "" şeklinde yazınca temizlik gerçekleşiyor.

Ayrıca hücre birleştirmeleri nedeniyle, bence; CN89 yerine CN90 yazılması daha doğru olur diye düşünüyorum.
.
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Merhaba Ömer Bey,
Cevap mesajımı yanlışlıkla Ayhan Bey diye yazdım. Özür dilerim. Belki de mesajı göremediniz. Bir karışıklık oldu sanırım.

Dediğiniz gibi yaptım bu sefer sadece şu sorun kaldı. BS5 4,7,10,12 olduğunda ilgili hücrelerde varsa Renk gitsin X işareti koysun. Değilse Renk koysun X işareti gitsin.

İkinci sorun ise; CV12 boşsa AL12 de boş kalsın.

Teşekkür eder saygılar sunarım.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Anlamak için soruyorum (kodları en başından ele alayım dedim);
BS11:CP90 arasındaki hücrelerin rengi ile X veya BA/BS değeri arasındaki ilişki nedir acaba?

Yani değer varsa renk yok, değer yoksa renk var gibi bir sistem midir öngördüğünüz?

BS5 hücresi için değer seçenekleri nedir acaba?

Keşke 11'inci satırdan itibaren birer satıra;
BS5 için 0'dan başlayıp kaça kadarsa (boş olma seçeneği de varmı mesela);
(örneğin CQ sütununa BS'nin alabileceği değerleri yazıp) birer satır renk ve değeri elle işlemiş olsaydınız daha anlaşılır olurdu bence.
 
Son düzenleme:
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Ömer Bey Merhaba,

Yapmak istediğim şeyi koşullu biçimlendirme ile yaptım istedim ki makro ile olsun. Amaç aslında çok basit her ay verilen çeşitli beyannameler var. Yani BS5 değerine göre hücrelere X işareti ile konulan yerler o firmanın hangi beyannameyi vermesidir. X olmayan yerler ise beyanname verilmeyecek demektir ve hücreyi boyamasıdır. (görsellik için boş da kalabilir)

BS5 değeri ise; Beyanname verilmenin yılın kaçıncı ayı değerini taşıyor.

Örn: BS5=1 ise Ocak ayında hangi firma hangi beyannameleri verecekse o hücre renkli ise rengi silecek ve hücreye X koyuyor. Değilse (beyanı yoksa) o hücrenin X işaretini silip boyuyor. Bu kadar.

Son bilginizle değişikliği yaptım. Sadece şu sorun kaldı. BS5=4, 7,10,12 olunca X koyuyor fakat rengi silmesi gerekirken silmiyor.

Birde CV12 hücresi eğer boşsa AL12 hücresi de boş kalsın makrosunu yapamadım.

Saygılarımla, Çok teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Ekli belgeye bir bakın isterseniz.
.
 

Ekli dosyalar

Son düzenleme:
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Ömer Bey Merhaba,

Dosyayı deneyeceğim. Her şey için çok teşekkür ederim. Ellerinize sağlık.
İyi çalışmalar.
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Merhaba Ömer Bey,

Bahsettiğiniz konuyla alakalı size deneyeceğimi söylemiştim. Hala onunla zaman zaman uğraşıyorum. Şimdi mesajları incelediğimde dediğiniz gibi bilgi mesajım gönderilemedi gözüküyor. Ellerinize sağlık yazdığınız kodlar çok çok işime yaradı ve bir çok yerlerde kullanıyorum.

Sadece 9. mesajınızdaki dosyada BS5 hücresi; 4,7,10,12 olunca sarı renkli olan hücreler X koyacak ve sarı rengini silmesi gerekir. Ancak hem X koyuyor hem de sarı renkli gözüküyor X olunca sarı renk silinmesi gerekir. Burayı düzeltmeyi beceremedim.

İlginiz alakanız için teşekkür eder saygılar sunarım.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Bence yazılan değerlerle biçimlendirmeyi birbirinden ayırarak yol almak gerekir.

1) BS5 hücresindeki tüm değerler için, hücrelere yazılan/silenen değerlerde bir sorun var mıdır ?

2)Sorun sadece renklendirme ile mi ilgilidir?

3) Renklerle ilgili karar sadece hücre değerlerine göre yapılmayacak mı?
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Merhaba,

Dediğiniz doğrudur onu da düşündüm. Renk olayı çok önemli değil yok sayabiliriz. Dediğiniz gibi çözüme daha yakın oluruz sanırım.

BS5 hücresine 12 değişken sayı var. (Yılın 12 ayı)

Kuralları şöyle sıralayabiliriz.

1. BS5>0 VE BS5<12 Hücresine X koysun (benim değiştirebileceğim bir hücreye Örn: BS11)

2. BS5=4,7,10,12 olduğunda BS13 hücresine X koysun

3. CV13 hücresindeki değeri AO11 hücresine yazsın

Ben bu şartları istediğim hücreler için çoğaltıp yazabileyim.


Ömer Bey sanırım şimdi dediğiniz gibi sadeleşti. İlerde belki başka bir kural ekleyebilirim de. Saygılar sunarım.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sayın Filose, Sayın muygun ve benim gibi sabırlı, özenli iki kıdemli üyenin destek verdiği bir konunun
(2 çözüm belgesi içeren 13 yazışma oluyor)
hala çözüme kavuşmaması biraz garip bir durum.

Ben soru sorup cevabını alınca sorunu çözeyim diyorum,
siz ısrarla, sorduklarıma cevap vermek yerine en başa dönüp değer yazmak için örnek kod istiyorsunuz.
Kaldı ki son cevabınızın karşılığı tüm kodlar Sayın muygun'un eklediği belgede yeterince mevcut.

Bu şekilde sizinle anlaşamayacağız sanırım.

Formül ile sonuç aldığınız bir belgeniz varsa, o belgenin formüllü küçük bir örneğini
(CV sütununa ilişkin farklılık ile BS5 hücresinin alabileceği her türlü değeri
-boş, 0, 1-12 arasında ve 12'den büyük- içerecek şekilde
)
yüklerseniz bakayım.

İyi günler dilerim.
.
 
Son düzenleme:
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Merhaba Ömer Bey,
İlginize ve sabrınız için tekrar teşekkür ederim. Öncelikle yazdığınız kodların işime yaradığını ve sorunumun büyük bölümünü çözdüğümü belirtmiştim. Tekrar ellerinize sağlık diyorum.

Siz de üç madde halinde düşüncelerinizi belirttiniz.
1. sorunuzda renklendirme dışında sorun yoktu.
2. Sorunuz Renklendirme ile alakalı kısım için, bende renklendirmeyi yok sayarsak işimiz kolaylaşır dedim.
3. Sorunuz da renk yoksa, sorunda olmaz diye düşündüm.

Bende, 13 yazışmayı özetleyerek; 3 adet kodla sade ve basit bir şekilde sorun çözülebilir diye belirtmeye çalıştım. Çünkü yeterince vaktinizi aldım ve büyük bir sabırla benimle ilgilendiniz. Bunu asla yok sayamayacağım gibi size tekrar zahmet vermek istemedim.

Sonuç olarak formüllerle benim yaptığım dosya ektedir. Belki daha iyi anlaşılır. Lütfen yanlış anlamayın verdiğiniz kodlar işime çok yaradı tekrar zahmet olmasın.

Herşey için içten teşekkür eder saygılar sunarım.
 

Ekli dosyalar

Üst