- Katılım
- 29 Aralık 2007
- Mesajlar
- 40
- Excel Vers. ve Dili
- 2010-türkçe
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
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
