ListBox Koşullu Satır Renklendirme

cocoa35

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
654
Excel Vers. ve Dili
excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
Altın Üyelik Bitiş Tarihi
10-12-2024
Merhaba üstatlar, Bir konuda yardımınızı istiyorum, Benim programımda "Rezervasyon" adlı userform var vede Rezervasyon sayfasından verilerini aldığım ListBox var. Şimdi benim istediğim ekli sayfadan verileri alan ListBox'da rezervasyon tarihe 7 gün kala satır kırmızı olsun istiyorum. Yani ekteki sayfada H kolonundaki tarihe 7 gün kalmış ise listbox'da o satır kırmızı olarak gözüksün. Bu mümkünmü?
 

Ekli dosyalar

cocoa35

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
654
Excel Vers. ve Dili
excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
Altın Üyelik Bitiş Tarihi
10-12-2024
Sn dEdE MERHABA, Forumu baya inceledim ListBox renklendirilebiliyor ancak koşullu satır renklendirme göremedim sadece bir kod buldum onu deneyeceğim ama sizin yardımınıza ihtiyacım var alttaki "If" formülünü Eğer "H" kolonundaki tarihten 7 gün öncesini geçmiş ise" şeklinde nasıl yazabilirim

If Sheets("data").Range("D" & i) <> vbNullString Then
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Dener misiniz?
If DateDiff("d", Sheets("data").Range("D" & i), Sheets("data").Range("H" & i)) > 7 Then
 

cocoa35

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
654
Excel Vers. ve Dili
excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
Altın Üyelik Bitiş Tarihi
10-12-2024
Sn dEdE Şöyle bir kod buldum ve ona göre düzenledim ama renk satırı hata veriyor

Private Sub UserForm_Activate()
Call listbox1_doldur
End Sub

Sub listbox1_doldur()
ListBox1.ColumnCount = 9
ListBox1.ColumnWidths = "20;75;80;115;75;75;70;70;80" ' veya "40;80;80;40;110;120;0;0;0;70;0"
ListBox1.ColumnHeads = True
ListBox1.RowSource = "Sayfa1!a2:ı" & Sheets("Sayfa1").[A65536].End(xlUp).Row
ListBox1.MultiSelect = 1
If DateDiff("h", Sheets("Sayfa1").Range("H" & i), Sheets("Sayfa1").Range("H" & i)) > 7 Then
For i = 0 To ListBox1.ListCount - 1
If ListBox1.List(i) = "(COLOR="Red"]) Hasan (/COLOR))" Then
ListBox1.Selected(i) = True
End If
Next i
End If
End Sub
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Örnek dosyanızı inceledim.
#3 numaralı mesajınızla örnek dosyanız uyuşmuyor. Örneğin dosyanızın D sütununda tarih yok.
#3 numaralı mesajınıza verdiğim yanıttaki "d" ifadesi sütun adı değil, day(gün) ifadesidir. Kod iki tarih arasındaki gün farkını bulur. Siz kodu kendinize uyarlarken hem "d" ifadesini değiştirmişsiniz hem de H sütununu baz alarak aynı tarihlerin farkını arıyorsunuz. Ayrıca " Range("H" & i)" ifadesini For döngüsünün dışına yazmışsınız. Buradaki "i" ifadesi For döngüsünde tanımlanan ifadedir.
#5 numaralı mesajınızdaki kodların içinde geçen "(COLOR="Red"]) ...(/COLOR))" ifadeleri ise HTML kodu olup sitedeki bir hatadan dolayı kodlara eklenmiştir. Bu kodlar web sayfasındaki yazıları renklendirmek için kullanılır ve normal VBA kodlarında bulunmazlar.
Sonuç; Biraz balık tutmaya çalışalım. :)
 
Üst