DOKUMANISTAN

Seçilen Aralığı Koşullu Biçimlendirme ile Renklendirme

Kadir sordu

Excel Soruları

Merhabalar Mustafa Bey
Öncelikle emeğinize sağlık. Soruma internette çözüm ararken bloğunuza denk geldim ve Koşullu Biçimlendirmeyi görünce sorumu sorayım dedim. Soruya gelecek olursak;
Aşağıdaki gibi sayılardan oluşan bir tablo var

Aşağıdaki şekilde de Veri Doğrulama ile Sol ve Üst başlık başlık numaralarını seçiyorum. Seçtiğim değerler arasında kalan alanları koşullu biçimlendirme ile boyamak istiyorum.

Örneğin yukarıdaki şeçimde D10:H15 arası oluyor. Bu arayı boyamasını istiyorum.

Seçimde dikkat edilmesi gereken; Sütun seç-2 sütun seç-1’den, satır seç-2 ise Satır seç-1’den küçük olmamalı.

Bu işlemi Koşullu Biçimlendirme ile nasıl seçebilirim. Yardımcı olabilir misiniz.

 

Excel Cevapları

Kadir Bey Merhabalar;

Koşullu Biçimlendirme çalışabilmesi için D10:H15 arasındaki değerlere göre çalışır. Hücredeki başka kaynaktan gösterdiğiniz değerlerle Koşullu Biçimlendirme çalışmayacaktır. Bunun için Makro ile yapabiliriz.

 

Satır Sütun Değerlerini Tespit Etmek

Sizin sütun seçim ekranınızdaki seçtiğini değerlere göre aşağı kısmına sizinde kullandığınız KAÇINCI Fonksiyonu ile Satır ve Sütunların kaçıncı hücrede olduğunu buldum. Amacım seçilen hücrenin başlangıç ve bitiş noktasını bulmak.

Liste Veri Seçi Alanı

Formülleri aşağıdaki şekildedir.

M8 Hücresinde Başlangıç Hücresi Satır :
=KAÇINCI(O2;A2:A15;0)+1

N8 Hücresinde Başlangıç Hücresi Sütun :
=KAÇINCI(M2;B1:K1;0)+1

O8 Hücresinde Bitiş Hücresi Satır :
=KAÇINCI(P2;A2:A15;0)+1

P8 Hücresinde Bitiş Hücresi Sütun:
=KAÇINCI(N2;B1:K1;0)+1

 

Sayıların Anlamı

Formüllü Sayıların Anlamı

Öncelikle bu sayıların ne anlama geldiğini anlatıyım.

Başlangıç Hücresi Satır 10 Sütun 4

10.Satır zaten bildiğimiz 10. Satır. 4. Sütun ise A’dan saymaya başlarsak D sütununa denk geliyor. Yani İlk tespit ettiğimi hücre D10 hücresidir.

Başlangıçta Verinin Konumu

Bitiş Hücresi Satır 15 Sütun 8

15. Satır 8. Sütun ise soldan saydığımızda H14 hücresidir.

Bitişte Verinin Konumu

 

Hedef Hücrelere Makro ile Boyama İşlemi Yapıyoruz

Şimdi M8, N8, O8, P8 hücrelerindeki değerlerden yararlanarak Makro ile Hedef hücreleri boyama işlemi yapacağız.


Sub ConditionalFormat()
Dim baslangicHucreSatir As Integer
Dim baslangicHucreSutun As Integer
Dim bitisHucreSatir As Integer
Dim bitisHucreSutun As Integer
Call bicimleriTemizle
baslangicHucreSatir = Range(“M8”).Value
baslangicHucreSutun = Range(“N8”).Value
bitisHucreSatir = Range(“O8”).Value
bitisHucreSutun = Range(“P8”).Value
With Worksheets(1).Range(Cells(baslangicHucreSatir, baslangicHucreSutun), Cells(bitisHucreSatir, bitisHucreSutun)).Interior
Range(“a1”).Select
End Sub


Sub bicimleriTemizle()
Range(“B2:K15”).Select
Selection.ClearFormats
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub

Son olarak tablonun yanına buton ekleyerek makronun çalışmasını sağlıyoruz.

 Kodu kopyaladıktan sonra ( ” ) Çift tırnaklar farklı Karakter oluyor. Bunları klavyedeki Tab tuşunun üstündeki Çift tırnak ile karakterleri ile değiştiriniz.

 

 

Excel Dosya DownloadYazıda kullandığım dosyayı buradan indirebilirsiniz

 

 

 Güvenlik Nedeni ile Makro Dosyalarını paylaşamıyorum. Cevabınızda kullandığımız çalışma kitabını buradan indirip Alt + F11 tuşuna basarak Mako kısmına geçip yukardaki kodu yapıştırın. Sonra da Farklı Kaydet diyerek xlsm olarak kaydedin

 

Yorum yapın