Otomatik Güncellenen ListBox

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Hayırlı Pazarlar dilerim.
Web üzerinden bir sürü araştırma yaptım, Ancak istediğim sonuca bir türlü ulaşamadım. Sizden bir konuda yardım rica ediyorum. Yapmak istediğim işlem;
Kayıtlar isimli bir sayfam ve İzleme Sayfası isimli bir sayfam bulunmakta. İzleme Sayfası üzerinde bir adet ListBox1 var. Kayıtlar sayfasına kaydedilen son (5) Beş kaydı üzerine almak istiyorum. Ayrıca her yeni kayıtta ListBox otomatik olarak güncellensin istiyorum. Yardımcı olabilir misiniz?
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,761
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu kodu izleme sayfasının kod bölümüne ekle va sayfadan çık başka sayfaya git sonra tekrar izleme sayfasına geç

Kod:
Private Sub Worksheet_Activate()
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets(ActiveSheet.Name).ListBox1.ListFillRange = sayf1 & "!$A$" & son - 5 & ":$A$" & son
End Sub
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Bu kodu izleme sayfasının kod bölümüne ekle va sayfadan çık başka sayfaya git sonra tekrar izleme sayfasına geç

Kod:
Private Sub Worksheet_Activate()
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets(ActiveSheet.Name).ListBox1.ListFillRange = sayf1 & "!$A$" & son - 5 & ":$A$" & son
End Sub
halit hocam yardımınız için teşekkür ederim. Sadece "Kayıtlar" sayfasını belli süre içerisinde kontrol edebilecek bir kontrol kodu ekleyebilir miyiz?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,761
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
halit hocam yardımınız için teşekkür ederim. Sadece "Kayıtlar" sayfasını belli süre içerisinde kontrol edebilecek bir kontrol kodu ekleyebilir miyiz?
Buradan ne anlamalıyım bilmiyorum .
neyi belli bir süre kontrol etmek istiyorsunuz.
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Buradan ne anlamalıyım bilmiyorum .
neyi belli bir süre kontrol etmek istiyorsunuz.

Şu şekilde özetlersem;
Kayıtlar sayfasına veri kaydı yapıldığında ListBox otomatik olarak güncelleme yapmasını istiyorum. Nedeni ise İzlemeSayfası bir tv ekranında devamlı olarak açık kalacak. Kayıtlar sayfasına veri girişi olduğunda ListBox otomatik olarak veriyi ekrana alacak. Bu işlem 3 - 5 saniye aralığında olabilir diye düşünüyorum.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,761
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kayıtı ne şekilde yapıyorsanız bu kodu akayıt kodunun içine koyunuz.

Kod:
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets("İzlemeSayfası").ListBox1.ListFillRange = sayf1 & "!$A$" & son - 5 & ":$A$" & son
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Kayıtı ne şekilde yapıyorsanız bu kodu akayıt kodunun içine koyunuz.

Kod:
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets("İzlemeSayfası").ListBox1.ListFillRange = sayf1 & "!$A$" & son - 5 & ":$A$" & son

Hocam, dediğiniz gibi yaptım. İşlem Tamam, Ancak sizden bir ricam daha olacaktı? VeriTabani sayfasında Adi, Soyadi, Görevi, Telefon ve Resim isimli başlıklardan sayfa üzerinde bulunan Labellara ListBox üzerinden hangisi seçili ise o kaydı VeriTabanı sayfası üzerinden almak istiyorum. Bu konuda yardımcı olabilir misiniz?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,761
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
İzleme sayfasındaki kodları bununla değiştir.
renkli bölümleri siz kendiniz ekleme veya düzenlemelerini yapasınız.

Rich (BB code):
Private Sub ListBox1_Click()
sayf1 = "Kayıtlar"
sat = ListBox1.ListIndex + 2
Label1 = Worksheets(sayf1).Cells(sat, "b").Value
Label4 = Worksheets(sayf1).Cells(sat, "c").Value
Label5 = Worksheets(sayf1).Cells(sat, "d").Value
Label6 = Worksheets(sayf1).Cells(sat, "e").Value

End Sub

Private Sub Worksheet_Activate()
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets("İzlemeSayfası").ListBox1.ListFillRange = sayf1 & "!$B$2:$B$" & son
Worksheets("İzlemeSayfası").ListBox1.ListIndex = ListBox1.ListCount - 2
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Set S1 = ThisWorkbook.Worksheets("Form")
Set s2 = ThisWorkbook.Worksheets("Kayıtlar")
If Intersect(Target, [GN1]) Is Nothing Then Exit Sub
Label2.Caption = Worksheets("İzlemeSayfası").Range("GN1").Value
End Sub
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
İzleme sayfasındaki kodları bununla değiştir.
renkli bölümleri siz kendiniz ekleme veya düzenlemelerini yapasınız.

Rich (BB code):
Private Sub ListBox1_Click()
sayf1 = "Kayıtlar"
sat = ListBox1.ListIndex + 2
Label1 = Worksheets(sayf1).Cells(sat, "b").Value
Label4 = Worksheets(sayf1).Cells(sat, "c").Value
Label5 = Worksheets(sayf1).Cells(sat, "d").Value
Label6 = Worksheets(sayf1).Cells(sat, "e").Value

End Sub

Private Sub Worksheet_Activate()
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets("İzlemeSayfası").ListBox1.ListFillRange = sayf1 & "!$B$2:$B$" & son
Worksheets("İzlemeSayfası").ListBox1.ListIndex = ListBox1.ListCount - 2
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Set S1 = ThisWorkbook.Worksheets("Form")
Set s2 = ThisWorkbook.Worksheets("Kayıtlar")
If Intersect(Target, [GN1]) Is Nothing Then Exit Sub
Label2.Caption = Worksheets("İzlemeSayfası").Range("GN1").Value
End Sub

Teşekkür ederim Hocam,
Son olarak sizden bir ricam daha olsa!
ListBox'ın kendi içerisinde her yeni eklenen veriyi otomatik olarak seçse olabilir mi?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,761
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kodun bu bölümü sayfa açıldığında zaten seçiyor.

Rich (BB code):
Private Sub Worksheet_Activate()
sayf1 = "Kayıtlar"
son = Worksheets(sayf1).Cells(Rows.Count, "b").End(3).Row
Worksheets("İzlemeSayfası").ListBox1.ListFillRange = sayf1 & "!$B$2:$B$" & son
Worksheets("İzlemeSayfası").ListBox1.ListIndex = ListBox1.ListCount - 1
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Sanıyorum; Kayıtlar isimli sayfaya kayıt işlemi bir userform üzerinden yapılırken başka bir ekranda da izleme sayfası görünüyor olacak.

Bu nedenle; Sayın halit3'ün verdiği kodları (kod blokunun başlığı ve End Sub satırı hariç)
userform üzerinden kayıt yapan kaydet_Click kodunun sonuna "Unload Me'"satırının altına eklemeniz gerekecek.

Bir de kendisinin verdiği koddaki son satırda kırmızı renklendirilen kısımın başına aşağıdaki gibi sayfa adını eklemeniz gerekebilir.
....istIndex = Worksheets("İzlemeSayfası").ListBox1.ListCount - 1

.
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Değerli Hocalarım, Cevaplarınız için teşekkür ederim.
ListBox içerisinde veri yoksa Labellarda boş getirmek istesem, Nasıl bir kod yazmak gerekir? Yardımcı olabilir misiniz?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba Sayın HEZER.
Oluşturduğunuz belge üzerinde adım adım ilerlerken, gelinen aşamayı,
yapılan düzeltme ve eklemeleri belgenize/kodlara nasıl dercettiğinizi bilemiyoruz.

Son sorunuzla ilgili olarak ana hatlarıyla aşağıdaki gibi bir yapıyla sonuç alabileceğinizi belirteyim.
Rich (BB code):
...............
If Listbox1.ListCount=0 Then
    Label1.Caption=""
    Label2.Caption=""
    .......
Else
    Label1.Caption= >>> Ne yazılacaksa
    Label1.Caption= >>> Ne yazılacaksa
    .......
End If
...............
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Seviyorum siz değerli Hocalarımı, Rabbim Yardımcınız olsun.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Eyvallah, sağlıcakla.
 

muhammethezer

Altın Üye
Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
12-03-2026
Eyvallah, sağlıcakla.

Ömer Hocam,
Bu proje tam anlamıyla bitince sizinle paylaşacağım. Çünkü sizin bu projede bana katkılarınız çok oldu. Ancak, diğer hocalarıma da değerli katkılarından dolayı teşekkür etmek istiyorum. Sizin değerlendirmeniz sonrasında buradan diğer arkadaşlarımızında faydalanması için bu projeyi buradan paylaşmak istiyorum.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Evet epey emek/zaman harcamıştım.
Ben de kendi adıma ilk kez kullandığım şeyler öğrendim bu projenizle ilgilenirken.

FORUM mantığı da bu zaten; bilgiyi paylaşarak çoğaltmak, parça parça bilgilerden bir bütüne, bitmiş bir ürüne varmanın hazzını yaşamak,
destek isteyenlerin de zaman içerisinde, diğer destek isteyenlerin sorularına cevap vermeye başlamalarını görmek.
.
 
Üst