Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Beyin Fırtınası
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Beyin Fırtınası Bu başlıkta, ilginç olduğunu düşündüğünüz sorularınızı, bir problem şeklinde sorabilir, alternatif olduğunu düşündüğünüz çözümlerinizi paylaşabilirsiniz. (Bu başlıkta yeni konu açılması onaya bağlıdır.)
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 22-05-2007, 13:43   #1
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,641
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan Girilen sayısal değere göre hücre renklendirme

Selamlar,

Arkadaşlar ekteki dosyada [A:E] sütun aralığına girilecek sayısal değerlere göre hücreleri nasıl renklendirebiliriz. Tabi renklendirme şartlı olacak. Girilen sayısal değerler sıralamaya göre renklendirilecektir.

Soruyu çözecek arkadaşlarımızın formül ve makro kodlarının açıklamalarını yazarak yorumda bulunmaları yeni başlayan arkadaşlarımız için faydalı olacaktır.

Not: Başlangıç aşamasında olan arkadaşlarımızda lütfen yorumlarını belirtsinler.

Kolay gelsin.
Eklenmiş Dosyalar
Dosya Türü: rar GÜNÜN_SORUSU_03.rar (1.8 KB, 224 Görüntülenme)
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 14:07   #2
enderturk
 
enderturk kullanıcısının avatarı
 
Giriş: 31/10/2005
Mesaj: 62
Excel Vers. ve Dili:
İşte : 2000 Tr Evde : XP Tr
Varsayılan re

aşağıdaki örnekte her hücre değişiminde hücre değerini a1'den e1'e kadar karşılaştırıp eşleşme durumunda 1.satırdaki uygun renk hücre rengi olarak atanmaktadır.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Value = Range("a1").Value Then Target.Interior.ColorIndex = Range("a1").Interior.ColorIndex
If Target.Value = Range("b1").Value Then Target.Interior.ColorIndex = Range("b1").Interior.ColorIndex
If Target.Value = Range("c1").Value Then Target.Interior.ColorIndex = Range("c1").Interior.ColorIndex
If Target.Value = Range("d1").Value Then Target.Interior.ColorIndex = Range("d1").Interior.ColorIndex
If Target.Value = Range("e1").Value Then Target.Interior.ColorIndex = Range("e1").Interior.ColorIndex

end sub
__________________
Evde Excel Xp
İşte Excel 2000
enderturk Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 14:14   #3
xxcell
 
Giriş: 25/04/2007
Mesaj: 460
Excel Vers. ve Dili:
2007
Varsayılan

Private Sub Worksheet_Change(ByVal Target As Range)

If IsNumeric(Target.Value) And _
Not Intersect(Target, Columns("A:E")) Is Nothing Then _
Target.Interior.ColorIndex = _
Cells(((Target.Value - 1) Mod 5) + 1, "h").Interior.ColorIndex


End Sub



' Girilen değer sayıysa ve A:E aralığında ise
' Color indexini h sütunundaki ilk 5 hücreye göre
' mod 5 yaparak eşitle


Bundan fazla kısaltamadım
xxcell Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 14:25   #4
xxcell
 
Giriş: 25/04/2007
Mesaj: 460
Excel Vers. ve Dili:
2007
Varsayılan

Verdiğim örnek negatif değerlerde hata verdiği için
şu şekilde modifiye ettim.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
If IsNumeric(Target.Value) And _
Not Intersect(Target, Columns("A:E")) Is Nothing Then _
Target.Interior.ColorIndex = _
Cells(((IIf(Target.Value < 0, -1, 1) * Target.Value - 1) Mod 5) + 1, "h").Interior.ColorIndex
xxcell Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 14:43   #5
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

Aşağıdaki kodu sayfanın kod sayfasına kopyalamalıyız. Sorulan soruda en fazla 5 renk için sınırlama yapıldığından bende buna uydum, yani beş renkten fazla ise fazla olan sayı için renklendirme yapılmayacaktır. Kod her yeni veri girildiğinde tüm renklendirmeyi tekrardan yapar.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim sayi As Range
If Intersect(Target, [a:e]) Is Nothing Then Exit Sub
For Each sayi In [a:e].SpecialCells(xlCellTypeConstants, 1)
deg = WorksheetFunction.Rank(sayi, [a:e], 1)
sayi.Interior.ColorIndex = Cells(deg, "h").Interior.ColorIndex
Next
End Sub
 
1-Hata durumunda kodun çalışmaya devam etmesini sağlar.
2-sayi değişkenini range yani aralık olarak tanımlar
3-kodun A:E aralığında çalışması sağlanır.
4-A-E aralığındaki sadece sayısal hücreler için döngü oluşturur.
5-deg değişkenine hücredeki sayının A:E aralığındaki sıra değerini hesaplar
6-Tüm hücreleri sırasına göre renklendirir.
7-döngü bitimi
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 15:07   #6
İdris SERDAR
Moderatör
 
İdris SERDAR kullanıcısının avatarı
 
Giriş: 21/10/2005
Şehir: Ankara
Mesaj: 14,421
Excel Vers. ve Dili:
Excel, 2016 - İngilizce
Varsayılan

Sayın leventm müsaade ederlerse,

Hücredeki değeri sildiğimizde beyaz olması amacıyla,

koda;

sayi.Interior.ColorIndex = Cells(deg, "h").Interior.ColorIndex

kodlarından sonra gelmek üzere;

If Intersect(Target, [a:e]) = "" Then Intersect(Target, [a:e]).Interior.ColorIndex = xlNone

kodlarını eklersek iyi olur kanısındayım.

..
__________________
Çalışmalarımı görmek için:

http://www.excelgurusu.com/

İdris SERDAR
İdris SERDAR Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 15:22   #7
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

Sn yurttas rica ederim, ilaveniz kodun eksikliğini gidermiştir.
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 15:41   #8
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,641
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Arkadaşlar sanırım sorum yanlış anlaşıldı. Sn. leventm beyin çözümüne yakın bir çözüm olacak fakat renklendirme satır bazında sabit kalacak. Yani bir satıra 5 adet değer girdik bu değerler kendi aralarında büyükten küçüğe renklendirilecek. Sayfada verdiğim renklendirmeler örnektir. Yani H sütununun olmadığını düşünerek yanıtlamanızı rica edeceğim.

1. satır için örneklersek;

Girilen değerler;

A1=25 (Kırmızı)
B1=23 (Pembe)
C1=18 (Sarı)
D1=15 (Lacivert)
E1=10 (Yeşil)
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 15:56   #9
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

Bu durumda kodu aşağıdaki gibi düzenleyebiliriz. Bu sefer kod satır bazında düzenlenmiştir. Yani A:E sütununun tümü değil sadece veri girilen satır kendi arasında sıralanmıştır. Yukarıdaki koda tek ilave Sn yurttas'ın hatırlattığı gibi veri silindiğinde hücre renginin kaldırılması ile ilgili satırdır.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim sayi As Range
If Intersect(Target, [a:e]) Is Nothing Then Exit Sub
satir = Target.Row
For Each sayi In Range("a" & satir & ":e" & satir).SpecialCells(xlCellTypeConstants, 1)
deg = WorksheetFunction.Rank(sayi, Range("a" & satir & ":e" & satir), 1)
sayi.Interior.ColorIndex = Cells(deg, "h").Interior.ColorIndex
If Target = "" Then Target.Interior.ColorIndex = xlNone
Next
End Sub
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-05-2007, 16:12   #10
Ali
 
Ali kullanıcısının avatarı
 
Giriş: 21/07/2005
Mesaj: 7,318
Excel Vers. ve Dili:
İş:Excel 2007-Türkçe Ev:Excel 2003-Türkçe
Varsayılan

İki veri aynı olunca renk atlıyor sanırım 10 10 9 8 7 gibi olduğu durumda.

=TOPLA.ÇARPIM((A2<$A$2:$E$2)/EĞERSAY($A$2:$E$2;$A$2:$E$2&""))+1

formülü gibi sıra iki büyüğede 1 değeri verse iyi olur sanırım
Ali Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 19:32


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden