• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Listboxta İki Tarih Arası Verileri Gösterme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

OğuzTürkyılmaz

Yeni Üye
Katılım
12 Eyl 2021
Mesajlar
263
Çözümler
1
Aldığı beğeni
31
Excel V
Office 365 TR
Konu Sahibi
Herkese sağlıklı günler dilerim.

Nette izlediğim derslerden birindeki kodları kendi uygulamama uyarladım fakat garip bir durumla karşılaşıyorum. Uygulamayı Kod ekranından çalıştırdığımda ekranda Muayene Tarihi sütunundaki tarihe göre filtreleme sonuçlarını alıyorum. ( Tarih Görünümü Amerikan formatına göre Bunu türkçe ye formatlamam gerekiyor.)

kod ekranından.png

Fakat kod ekranını kapatıp uygulamayı normal başlatarak formu çalıştırıp filtreleme yapmak istediğimde sonuç aşağıdaki resimde görüldüğü gibi ekrana geliyor.
Bu durumu nasıl düzeltebilirim. Yardımlarınız için teşekkür ederim.

menüden seçim.png
 
1) X sütununda hiç veri yok.
For XR = 1 To Range("X1048576").End(xlUp).row
Bu satırın daha önce çalışmasının sebebi verilerinizin
tablo2 ye kayıtlı olması. Bu konuda size açıklama yapmıştım.
Karışıklığa müsait bir konu olduğunu yazmıştım. İlgili soruya bakarsınız.
Aşağıdaki gibi düzelttim.

For XR = 1 To Range("A1048576").End(xlUp).row

2) ReDim Veri(1 To XR, 1 To 24)
XR değişkeni buraya kadar tanımlı değil.
ReDim Veri(1 To 24, 1 To 1) olarak düzelttim

3) For i = 0 To ListBox1.ListCount yerine
For i = 0 To ListBox1.ListCount - 1

Özetle;
On Error Resume Next satırını pasife alın hata nerde görün. :)
 
Konu Sahibi
Konu Sahibi
1) X sütununda hiç veri yok.
For XR = 1 To Range("X1048576").End(xlUp).row
Bu satırın daha önce çalışmasının sebebi verilerinizin
tablo2 ye kayıtlı olması. Bu konuda size açıklama yapmıştım.
Karışıklığa müsait bir konu olduğunu yazmıştım. İlgili soruya bakarsınız.
Aşağıdaki gibi düzelttim.

For XR = 1 To Range("A1048576").End(xlUp).row

2) ReDim Veri(1 To XR, 1 To 24)
XR değişkeni buraya kadar tanımlı değil.
ReDim Veri(1 To 24, 1 To 1) olarak düzelttim

3) For i = 0 To ListBox1.ListCount yerine
For i = 0 To ListBox1.ListCount - 1

Özetle;
On Error Resume Next satırını pasife alın hata nerde görün. :)
Sn@excelcan öncelikle çok teşekkür ederim. Anladığım kadarıyla ben bu tablo olayından çok sıkıntı yaşayacağım. Tablo yapmamın sebebi pivottablo yaratmaktı ama biraz kurcalayınca pivot tablo yapmak için sayfayı illa tablo olarak adlandırmak şart değilmiş aralık olarak da seçilip pivot tablo yaratılabiliyormuş. Ders 2 sütunluk bir veride üzerinden ayrıntıya fazla girilmediğinden ben de kodları çok anlamlandıramadım kafamda. Kod doğru sonucu veriyor fakat 23. sütundaki Muayene Tarihini bir türlü formatlayamıyorum. 10.06.2022 yapamadım bir türlü 06.10.2022 olarak gösteriyor tarihi.
 
Konu Sahibi
Alternatif:
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Sn@Alicimri ilginiz için çok teşekkür ederim. Kodunuzu baştan sona anladım sadece .SpecialCells(xlCellTypeVisible).Address) ne işe yarıyor kısaca anlatabilirseniz. Dersde anlatılan koddan çok daha kullanışlı geldi bana. Sadece muyene tarihini amerikan sistemine göre veriyor onu bir türlü formatlayamadım.
 
O satır ile Süzme işlemi yapılan satırlar içinde, görünen hücrelerin adresini alıyoruz.
 
Liste kutusunda normal tarihlerin Hücre biçimi "GENEL", W sütunun Hücre biçimi ise "TARİH"
Veriler nereden ve nasıl alıyorsun,
 
Konu Sahibi
Sn@Alicimri Bu formdan Policeler sayfasına kaydediyorum.


Screenshot_2.png
Liste kutusunda normal tarihlerin Hücre biçimi "GENEL", W sütunun Hücre biçimi ise "TARİH"
Veriler nereden ve nasıl alıyorsun,
 
Sayın OğuzTürkyılmaz
Kodlamalarınızda format gereken yerlere dikkat edin.
Sanırım sorun aşağıdaki bloktan (LoadData makrosu) kaynaklanıyor.
Dener misiniz.

'TextBox_MuayeneBitisTarihi.Value = .Cells(1, 23).Value
TextBox_MuayeneBitisTarihi.Value = Format((.Cells(1, 23).Value), "dd.mm.yyyy")

GÜNCELE BUTONU İÇİN
'.Cells(1, 23).Value = TextBox_MuayeneBitisTarihi.Value
.Cells(1, 23).Value = Format((TextBox_MuayeneBitisTarihi.Value), "dd.mm.yyyy")
 
Konu Sahibi
Sayın OğuzTürkyılmaz
Kodlamalarınızda format gereken yerlere dikkat edin.
Sanırım sorun aşağıdaki bloktan (LoadData makrosu) kaynaklanıyor.
Dener misiniz.

'TextBox_MuayeneBitisTarihi.Value = .Cells(1, 23).Value
TextBox_MuayeneBitisTarihi.Value = Format((.Cells(1, 23).Value), "dd.mm.yyyy")

GÜNCELE BUTONU İÇİN
'.Cells(1, 23).Value = TextBox_MuayeneBitisTarihi.Value
.Cells(1, 23).Value = Format((TextBox_MuayeneBitisTarihi.Value), "dd.mm.yyyy")
excelcan LoadData ile ilgili kodları yabancı bir kaynaktan izleyip uygulamaya çalışmıştım. Dersi tekrar izleyip ilgili kodlarda söylediğiniz değişiklikleri yapacağım. Çok teşekkür ederim.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst