[Çözüldü]  LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

Listeleme kutusu. Verileriniz klasör ve dosyalarınızı görsel olarak kontrol edebileceğiniz bir nesne modeli.

LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#1)  sahirazi » 12 Haz 2017 11:00

Site yöneticisi ve kullanıcısı herkese selamlar

Hazırlamış olduğum programda listview ekranında işin tarihi baz alınarak BUGÜN ve YARIN ki tarihlerin renkli olarak yazılmasını istiyorum. Araştırmalarım sonucunda biraz fikir edindim fakat programcılık dilim olmadığı için iki komutu bir araya getiremedim. :)

Ekte dosyayı gönderdim. Müsait olan yönetici ve arkadaşlar inceleyebilirler ise sevinirim.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#2)  Ali ÖZ » 12 Haz 2017 12:55

UserForm_Initialize kodlarını bu şekilde güncelleyip deneyin.

Kod: Tümünü seç
Private Sub UserForm_Initialize()
With UserForm1
  Me.Top = 150
  Me.Left = 200
  Me.Height = .Height
  Me.Width = .Width
End With
ListView1.View = lvwReport
ListView1.Gridlines = True
ListView1.FullRowSelect = True
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
With ListView1.ColumnHeaders
.Add , , "S.NO", 15
.Add , , "PROJE ADI", 100
.Add , , "İŞLEM TARİHİ", 60
.Add , , "SORUMLU", 70
.Add , , "YAPILACAK İŞ", 250
.Add , , "İŞİN TARİHİ", 60
.Add , , "SAATİ", 40
.Add , , "SON İŞ TARİHİ", 60
.Add , , "EK AÇIKLAMA ", 200
.Add , , "ÖNCELİK", 40
.Add , , "DURUM", 50
.Add , , "KAYIT BİLGİSİ", 90

End With
For S = 2 To Cells(65530, 1).End(xlUp).Row
X = X + 1
   
ListView1.ListItems.Add , , Cells(S, 1).Value
Y = ListView1.ListItems.Count
For a = 2 To 12
  If a = 7 Then
   ListView1.ListItems(Y).ListSubItems.Add , , Format(Cells(S, a).Value, "hh:mm")
   If Format(ListView1.ListItems.Item(X).ListSubItems(5), "dd.mm.yyyy") = Format(Now, "dd.mm.yyyy") Or _
   Format(ListView1.ListItems.Item(X).ListSubItems(5), "dd.mm.yyyy") = Format(Now, "dd") + 1 & "." & Format(Now, "mm.yyyy") Then
     ListView1.ListItems.Item(X).ListSubItems(5).ForeColor = vbRed
   End If
   GoTo 10
  End If
ListView1.ListItems(Y).ListSubItems.Add , , Cells(S, a).Value
10 Next


Next
'Label1.Caption = Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 4)
Label11.Caption = Environ("UserName")
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9242
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#3)  sahirazi » 13 Haz 2017 09:44

Ali bey cevabınızdan dolayı teşekkür ederim. Ben talebimi eksik yazdığım için bağışlayın. Sadece tarih kısmını değil, tarihin bulunduğu satırı tamamen renklendirmek istemiştim.

Diğer talebimde bir sonraki günün rengini farklı yapabilir miyiz? Mesela mavi

Tekrar teşekkür ediyorum.
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#4)  Ali ÖZ » 13 Haz 2017 10:36

Bu şekilde revize edip deneyin.
Kod: Tümünü seç
Private Sub UserForm_Initialize()

With UserForm1
  Me.Top = 150
  Me.Left = 200
  Me.Height = .Height
  Me.Width = .Width
End With
ListView1.View = lvwReport
ListView1.Gridlines = True
ListView1.FullRowSelect = True
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
With ListView1.ColumnHeaders
.Add , , "S.NO", 15
.Add , , "PROJE ADI", 100
.Add , , "İŞLEM TARİHİ", 60
.Add , , "SORUMLU", 70
.Add , , "YAPILACAK İŞ", 250
.Add , , "İŞİN TARİHİ", 60
.Add , , "SAATİ", 40
.Add , , "SON İŞ TARİHİ", 60
.Add , , "EK AÇIKLAMA ", 200
.Add , , "ÖNCELİK", 40
.Add , , "DURUM", 50
.Add , , "KAYIT BİLGİSİ", 90

End With
For S = 2 To Cells(65530, 1).End(xlUp).Row
ListView1.ListItems.Add , , Cells(S, 1).Value
Y = ListView1.ListItems.Count
For a = 2 To 12
  If a = 7 Then
   ListView1.ListItems(Y).ListSubItems.Add , , Format(Cells(S, a).Value, "hh:mm")
   GoTo 10
  End If

ListView1.ListItems(Y).ListSubItems.Add , , Cells(S, a).Value


10 Next
Next
'Label1.Caption = Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 4)
Label11.Caption = Environ("UserName")
For i = 2 To Range("a65536").End(3).Row
X = X + 1
  For b = 1 To 11
   If Format(ListView1.ListItems.Item(X).ListSubItems(5), "dd.mm.yyyy") = Format(Now, "dd.mm.yyyy") Then
     ListView1.ListItems.Item(X).ListSubItems(b).ForeColor = vbBlue
   End If
   If Format(ListView1.ListItems.Item(X).ListSubItems(5), "dd.mm.yyyy") = Format(Now, "dd") + 1 & "." & Format(Now, "mm.yyyy") Then
     ListView1.ListItems.Item(X).ListSubItems(b).ForeColor = vbRed
   End If
  Next
Next
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9242
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#5)  sahirazi » 13 Haz 2017 11:27

Teşekkür ederim Ali bey

Bende "ListView1.ListItems.Item(X).ListSubItems(b).Bold = True " kodu bularak kalın harfle yazmasını sağlayabildim.

işin Durumunu "YAPILDI" olarak seçtiğimde listede gözükmemesini veya başka bir sayfaya arşivlenmesi yapılabilir mi?
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#6)  Ali ÖZ » 13 Haz 2017 15:03

Yapılır ancak sizin bu soruyu oruç kafasıyla insanların anlayabileceği şekilde anlaşılır sormanız gerekir :)
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9242
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#7)  sahirazi » 14 Haz 2017 09:38

Haklısınız Ali bey elimden geldiği kadar anlaşılır anlatmaya çalışacağım.

Dosyayı güncelledim "ARŞİV" sayfası ekledim. Data sayfasından DURUM sütununda YAPILDI olarak işaretlenen satır ARŞİV sayfasına taşınacak. Bunu Userform ekranında olmasına şart değil. Makro ile sayfa üzerinden yapabilirsek oda olur.

Birde çözemediğim bir sıkıntı var. Userform ekranında Excel sayfasına dönüş için bir Excel logo eklemiştim. Buna tıkladığım zaman excel sayfasına geri dönüş yapıyor fakat userform kapanmıyor. Arkada açık kaldığı için sayfa üzerinde işlem yaparken sıkıntı çıkarıyor. Bunu nasıl çözebiliriz.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#8)  sahirazi » 15 Haz 2017 16:25

Sorunum çözülmedi. Yardımcı olacak arkadaş var mı?
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#9)  Ali ÖZ » 15 Haz 2017 17:30

Merhaba kontrol edin..
Kod: Tümünü seç
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column <> 11 Then Exit Sub
If Target.Text = "YAPILDI" Then Target.EntireRow.Copy Sayfa2.Range("a65536").End(3)(2, 1)
Rows(Target.Row).Delete Shift:=xlUp
End Sub


Excel e dön nesnesine de bu kodu yapıştırın.
Kod: Tümünü seç
Private Sub Image1_Click()
Application.Visible = True
Unload Me
End
Sheets("DATA").Select
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9242
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#10)  sahirazi » 15 Haz 2017 22:49

Ali bey yapmak istediğimi anlatabildiğime sevindim.

Şarta bağlı satırı başka sayfaya taşıması gayet iyi çalışıyor. şkşk Fakat Listview ekranında bir sorunla karşılaşıyorum. :? Taşınan satır sıra no ile beraber taşındığı için listview ekranına sıra no sütunu sıralı değil atlamalı olarak gidiyor.
Bir satıra çift tıklayıp combobox ve textboxlara veri gelmesini istediğimde farklı satırın verisi geliyor.
Yani ekranda görünen satırların sırası ile çift tıklanınca taşınan satırların sırası farklı oluyor.

Excel sayfasına dönmede verdiğiniz kodları uyguladım. Excel sayfasına döndükten sonra sayfadaki butona tıklayıp tekrar userformu açmak istediğimde yine hata ile karşılaşıyorum.

Dosyayı verdiğiniz kodlarla tekrar ekliyorum.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#11)  Ali ÖZ » 16 Haz 2017 11:25

Sayfa kodunu bu şekilde,
Kod: Tümünü seç
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column <> 11 Then Exit Sub
If Target.Text = "YAPILDI" Then Range("b" & Target.Row & ":l" & Target.Row).Copy Sayfa2.Range("a65536").End(3)(2, 1)
Rows(Target.Row).Delete Shift:=xlUp
End Sub

Kayıt makrosunu da bu şekilde değiştirip deneyin.
Kod: Tümünü seç
Sub KAYIT()
  Sheets("DATA").Select
  UserForm1.Show
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9242
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#12)  sahirazi » 16 Haz 2017 13:26

Ali bey sıralamadaki sorun yine düzelmedi. listvieve çift tıklayınca çıkan sorun devam ediyordu. Bende farklı bir yöntem denedim. Otomatik doldurma komutunu makro haline getirdim ve sizin verdiğiniz kodların altına yerleştirdim. Komut çalıştıktan sonra benim makro çalışıyor ve sıralamayı düzeltiyor.
Sıra No sıralaması bozulmayınca sorunda ortadan kalkıyor. Sizce mantıklı mı?

Kod: Tümünü seç
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column <> 11 Then Exit Sub
If Target.Text = "YAPILDI" Then Range("b" & Target.Row & ":l" & Target.Row).Copy Sayfa2.Range("a65536").End(3)(2, 1)
Rows(Target.Row).Delete Shift:=xlUp

Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
        Step:=1, Trend:=False

End Sub


Kayıt makrosundaki 0 eklememin sebebi Form açıkken sayfaya müdahale etmekti. Sorun ondan kaynaklanıyorsa iptal ettim gitti. [komik]

Bu programı geliştirmem için yardımlarınızdan dolayı teşekkür ediyorum. Diğer sorunlarda görüşmek üzere.
Kullanıcı avatarı
sahirazi
Yeni Başlamış
 
Adı Soyadı:Şahin MORKOÇ
Kayıt: 31 Arl 2013 15:15
Konum: Ankara / Sincan
Meslek: Bilgisayar Teknikeri
Yaş: 38
İleti: 58
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara / Sincan

Cevap: LİSTVİEW BUGÜN VE YARIN TARİHİNİ RENKLENDİRME

İleti#13)  Ali ÖZ » 16 Haz 2017 14:58

Rica ederim,Başarılar dilerim.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9242
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA


Forum ListView

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe