Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Makro-VBA (http://www.excel.web.tr/forumdisplay.php?f=48)
-   -   Listview içindeki sütunun hücresini koşullu renklendirme (http://www.excel.web.tr/showthread.php?t=170411)

yselimyilmaz 08-02-2018 16:37

Listview içindeki sütunun hücresini koşullu renklendirme
 
Selam arkadaşlar;

Aşağıda yer alan kodlar ile userform üzerindeki listview1 e sayfadan veri alıyorum.

Listview1 9.sütunundaki veri "EKSİK" e eşit "EKSiK" yazısı kırmızı oluyor. Eşit değilse 9.sütundaki diğerleri mavi oluyor.

Benim istediğim 9.sütunda 3 adet sorgulamaya göre (EKSİK,FAZLA,TAM) (Kırmızı,Mavi,Yeşil) renklensin. Sorgulama haricindekiler Siyah olsun.

İnşallah anlatabildim.


Private Sub CommandButton17_Click()
With ListView1
.FullRowSelect = True
.Gridlines = True
.View = 3
.ListItems.Clear
ComboBox1.Clear

For i = 1 To Sayfa2.Cells(1, Columns.Count).End(1).Column
.ColumnHeaders.Add , , Sayfa2.Cells(1, i)
Next i

For a = 2 To Sayfa2.Range("A65536").End(3).Row
Set yvz = .ListItems.Add(, , Sayfa2.Cells(a, 1))
yvz.SubItems(1) = Sayfa2.Cells(a, 2)
yvz.SubItems(2) = Sayfa2.Cells(a, 3)
yvz.SubItems(3) = Sayfa2.Cells(a, 4)
yvz.SubItems(4) = Sayfa2.Cells(a, 5)
yvz.SubItems(5) = Sayfa2.Cells(a, 6)
yvz.SubItems(6) = Sayfa2.Cells(a, 7)
yvz.SubItems(7) = Sayfa2.Cells(a, 8)
yvz.SubItems(8) = Sayfa2.Cells(a, 9)


If Sayfa2.Cells(a, 9) = "EKSİK" Then
yvz.ListSubItems(8).ForeColor = vbRed
yvz.ListSubItems(8).Bold = True
Else
yvz.ListSubItems(8).ForeColor = vbBlue
yvz.ListSubItems(8).Bold = True
End If

If WorksheetFunction.CountIf(Sayfa2.Range("I2:J" & a), Sayfa2.Cells(a, "I")) = 1 Then
ComboBox1.AddItem Sayfa2.Cells(a, "I")
End If

If WorksheetFunction.CountIf(Sayfa2.Range("J2:J" & a), Sayfa2.Cells(a, "J")) = 2 Then
ComboBox1.AddItem Sayfa2.Cells(a, "J")
End If
Next a

ListView1.ColumnHeaders(3).Width = 200
ListView1.ColumnHeaders(5).Width = 35
ListView1.ColumnHeaders(7).Width = 35
ListView1.ColumnHeaders(8).Width = 35
ListView1.ColumnHeaders(9).Width = 35

End With
ComboBox1.ListRows = 20
Label40.Caption = "Toplam Veri Sayısı: " & ListView1.ListItems.Count

End Sub

muygun 09-02-2018 08:27

Merhaba;

Renklendirme için;

If Sayfa2.Cells(a, 9) = "EKSİK" Then
yvz.ListSubItems(8).ForeColor = QBColor(12) 'kırmızı
yvz.ListSubItems(8).Bold = True
End If

If Sayfa2.Cells(a, 9) = "FAZLA" Then
yvz.ListSubItems(8).ForeColor = QBColor(9) 'mavi
yvz.ListSubItems(8).Bold = True
End If

If Sayfa2.Cells(a, 9) = "TAM" Then
yvz.ListSubItems(8).ForeColor = QBColor(2) 'yeşil
yvz.ListSubItems(8).Bold = True
End If

kod bloklarını kullanın.
İyi çalışmalar.

yselimyilmaz 09-02-2018 10:29

Teşekkür ederim, muygun

Sizler sayesinde hergeçen gün yeni birşeyler öğrenip uygulayabiliyoruz.


Saat 10:43

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.