Soru VBA Kodları İle Koşullu Biçimlendirme

Katılım
29 Mart 2013
Mesajlar
429
Excel Vers. ve Dili
Office 2016 Professional Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
14-03-2022
B sütununda B8:B38 arasında Pazar yazan hücre varsa, Pazar hücresinin olduğu satırın altını en kalın düz çizgi olarak A ve I satırlarına kadar çizecek şekilde kod yazabilir miyiz?
Örnek Dosya ve Örnek Resim ekte sunulmuştur.

Şimdiden teşekkür ederim.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki kodu deneyiniz...
Kod:
Sub kod()
Range("A8:I39").Borders(xlInsideHorizontal).Weight = xlThin
For a = 8 To 38
    If Cells(a, "B") = "PAZAR" Then
        Range("A" & a & ":I" & a).Borders(xlEdgeBottom).Weight = xlThick
    End If
Next
End Sub
 
Katılım
29 Mart 2013
Mesajlar
429
Excel Vers. ve Dili
Office 2016 Professional Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
14-03-2022
Farklı Sayfalara uyarlama yapmak istiyorum. Kodu hangi alana eklemem gerekiyor?
Ancak günler değiştiğinde anlık olarak yapabilir mi.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Dosyanız ektedir...
İlgili sayfanın kod bölümüne aşağıdaki kodlar eklenmiştir.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C4:C5")) Is Nothing Then kod
End Sub
Private Sub kod()
Application.ScreenUpdating = False
Range("A8:I39").Borders(xlInsideHorizontal).Weight = xlThin
For a = 8 To 38
    If Cells(a, "B") = "PAZAR" Then
        Range("A" & a & ":I" & a).Borders(xlEdgeBottom).Weight = xlThick
    End If
Next
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Katılım
29 Mart 2013
Mesajlar
429
Excel Vers. ve Dili
Office 2016 Professional Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
14-03-2022
Çok teşekkür ederim. Peki ekte belirttiğim dosyada ki gibi kenarlık çizgisi değilde, Cumartesi ve Pazar gün satırlarının hücre arka planını belirtilen renkte yapabilir miyiz?
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Arka plan için makro yerine koşullu biçimlendirme kullanabilirsiniz.
A8:I38 aralığını seçtikten sonra koşullu biçimlendirme ekleyip formül kısmına =HAFTANINGÜNÜ($A8;2)>5 formülünü uygulayıp dilediğiniz dolgu rengi düzenlemesini yaparsınız.
Yine de makro isterseniz dosyadaki kodu aşağıdaki şekilde değiştiriniz.
Kod:
Private Sub kod()
Application.ScreenUpdating = False
Range("A8:I39").Interior.ColorIndex = 0
For a = 8 To 38
    If Cells(a, "B") = "PAZAR" Or Cells(a, "B") = "CUMARTESİ" Then
        Range("A" & a & ":I" & a).Interior.ColorIndex = 15
    End If
Next
Application.ScreenUpdating = True
End Sub
 
Katılım
29 Mart 2013
Mesajlar
429
Excel Vers. ve Dili
Office 2016 Professional Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
14-03-2022
Ömer Bey Sizden Allah Razı Olsun.
Hepsi işime çok yaradı.
Bu formülleri uygulamadan önce ŞİFRESİZ SAYFA KORUMASINI kaldırıp, formülü uyguladıktan sonra TEKRAR ŞİFRESİZ SAYFA KORUMASINI AKTİF yapabilir miyiz?
 
Katılım
29 Mart 2013
Mesajlar
429
Excel Vers. ve Dili
Office 2016 Professional Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
14-03-2022
Sayın Hocam.
Aynı Kodları Aynı sayfa formatına sahip, başka sayfalara da ekledim.
Fakat bir sorunla karşılaştım. Diğer tüm sayfalarım Ay ve Yıl bilgilerini İDARİ KAT sayfasındaki Ay ve Yıl verilerinden çekiyor.
Diğer sayfalardaki Ay ve Yıl Bağ Yağıştır ile formüllü olduğundan,
Diğer sayfalarımda Pazar Günlerin olduğu satırın altı Koyu Kalın Çizgi ile çizilmiyor
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Kodun başına Me.Unprotect sonuna da Me.Protect satırlarını ilave ediniz.
İyi çalışmalar...
 
Katılım
29 Mart 2013
Mesajlar
429
Excel Vers. ve Dili
Office 2016 Professional Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
14-03-2022
Sayın Hocam.
Aynı Kodları Aynı sayfa formatına sahip, başka sayfalara da ekledim.
Fakat bir sorunla karşılaştım. Diğer tüm sayfalarım Ay ve Yıl bilgilerini İDARİ KAT sayfasındaki Ay ve Yıl verilerinden çekiyor.
Diğer sayfalardaki Ay ve Yıl Bağ Yağıştır ile formüllü olduğundan,
Diğer sayfalarımda Pazar Günlerin olduğu satırın altı Koyu Kalın Çizgi ile çizilmiyor
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Sayın Hocam.
Aynı Kodları Aynı sayfa formatına sahip, başka sayfalara da ekledim.
Fakat bir sorunla karşılaştım. Diğer tüm sayfalarım Ay ve Yıl bilgilerini İDARİ KAT sayfasındaki Ay ve Yıl verilerinden çekiyor.
Diğer sayfalardaki Ay ve Yıl Bağ Yağıştır ile formüllü olduğundan,
Diğer sayfalarımda Pazar Günlerin olduğu satırın altı Koyu Kalın Çizgi ile çizilmiyor
Çünkü o sayfalarda değişiklik olmadığı için kod tetiklenmiyor.
Kodu ilgili sayfalarda el ile çalıştırabilirsiniz. Otomatik tetiklenme için İDARİ KAT sayfasındaki tetikleyici kodu aşağıdaki şekilde değiştiriniz. (Kırmızı kısımlar yerine kendi dosyanızdaki sayfaların vb düzenleyicisindeki adlarını yazınız.)
Diğer sayfalara bu kodu kopyalamanıza gerek yok.
Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C4:C5")) Is Nothing Then
    Application.Run "Sayfa1.kod"
    Application.Run "Sayfa2.kod"
End If
End Sub
 
Üst