Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Excel'e Yeni Başlayanlar
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Excel'e Yeni Başlayanlar Excel kullanmaya yeni başladıysanız sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 06-12-2017, 11:34   #1
cems
Altın Üye
 
cems kullanıcısının avatarı
 
Giriş: 02/09/2005
Şehir: İstanbul
Mesaj: 1,593
Excel Vers. ve Dili:
office 2003 tr + office 2010 tr
Varsayılan Userformda texbox ile listbox süzme kodunda düzeltme

Bir üyenin dosyasını geliştirirken takıldığım nokta olarak ;

Userform multipage üzerinde veri sayfasında girilen datanın ikinci sayfada kritere göre süzülmesi , süz adı verilen bir sayfaya istenirse aktarılması, verinin iki tarih arasında da ayrıca süzülmesi ve textboxlar boşaldığında listboxta verinin tam olarak geri getirilmesi gereklidir.

Kodları bir çok şekilde denesem de süzmenin neden sıfır liste ile sonuçlandığını artık kafa durduğundan yakalamak mümkün olmadı.

textbox123 için kodların düzeltilmesi gerçekleştiğinde sanırım diğer textbox süzmelerini devam ettirebilirim .

Hatamın ne olduğunu düzelterek gösterir misiniz ?
Eklenmiş Dosyalar
Dosya Türü: xlsm SENET TAKİP.xlsm (77.9 KB, 7 Görüntülenme)
cems Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-12-2017, 12:52   #2
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,749
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Merhaba,

Süzme işleminde ilk olarak ListBox2.RowSource = "" komutu ile liste kutusunu temizlemişsiniz. Fakat süzme işlemini sayfada yaptırdıktan sonra tekrar oluşan listeyi liste kutusuna yüklememişsiniz. Sorun bundan kaynaklanıyor.
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimiçi   Alıntı Yaparak Cevapla
Eski 06-12-2017, 13:16   #3
cems
Altın Üye
 
cems kullanıcısının avatarı
 
Giriş: 02/09/2005
Şehir: İstanbul
Mesaj: 1,593
Excel Vers. ve Dili:
office 2003 tr + office 2010 tr
Varsayılan

Alıntı:
Korhan Ayhan tarafından gönderildi Mesajı Görüntüle
Merhaba,

Süzme işleminde ilk olarak ListBox2.RowSource = "" komutu ile liste kutusunu temizlemişsiniz. Fakat süzme işlemini sayfada yaptırdıktan sonra tekrar oluşan listeyi liste kutusuna yüklememişsiniz. Sorun bundan kaynaklanıyor.
Sayın Ayhan,
Sorunun kaynağını anlamakla beraber , düzeltmeyi duran akıl ile oluşturamıyorum

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub TextBox123_Change()

Dim sh As Worksheet, sat As Long
Set sh = Sheets("tablo")
sat = sh.Cells(sh.Rows.Count, "a").End(xlUp).Row
ListBox2.RowSource = ""
Application.ScreenUpdating = False
sh.Range("C1").AutoFilter
sh.Range("$A$1:$M$65536").AutoFilter Field:=3, Criteria1:=TextBox123.Text & "*"
ListBox2.RowSource = "tablo!a2:m65536" & sat

If TextBox123 = "" Then
sh.Range("a1:m65536").AutoFilter Field:=3              ', Criteria1:=TextBox123.Text & ""
           'sh.Range("C4").CurrentRegion.Offset(2, 0).Copy Sheets("SUZ").Range("C4")
ListBox2.RowSource = "tablo!a2:m65536" & sat
End If
End Sub
Öneriniz ne olabilir ?
cems Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-12-2017, 14:07   #4
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,749
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Dosyanıza RAPOR isminde bir sayfa ekleyiniz.

Daha sonra aşağıdaki kodu deneyiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub TextBox123_Change()
    Dim S1 As Worksheet, S2 As Worksheet, Satir As Long
    
    Application.ScreenUpdating = False
    
    Set S1 = Sheets("TABLO")
    Set S2 = Sheets("RAPOR")
    
    If TextBox123 <> "" Then
        ListBox2.RowSource = ""
        S2.Cells.Delete
        S1.Range("C1").AutoFilter
        S1.Range("A1:M" & S1.Rows.Count).AutoFilter Field:=3, Criteria1:=TextBox123.Text & "*"
        S1.Range("A1").CurrentRegion.Copy S2.Range("A1")
        S1.Range("A2:M" & S1.Rows.Count).AutoFilter Field:=3
        Satir = S1.Cells(S1.Rows.Count, 1).End(3).Row
        ListBox2.RowSource = "RAPOR!A2:M" & Satir
    Else
        S1.Range("A2:M" & S1.Rows.Count).AutoFilter Field:=3
        Satir = S1.Cells(S1.Rows.Count, 1).End(3).Row
        ListBox2.RowSource = "TABLO!A2:M" & Satir
    End If
    
    Application.ScreenUpdating = True
End Sub
RAPOR sayfasındaki verileri formun kapanışında silmek için aşağıdaki kodu kullanabilirsiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Sheets("RAPOR").Range("A2:M" & Rows.Count).Clear
End Sub
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimiçi   Alıntı Yaparak Cevapla
Eski 06-12-2017, 15:50   #5
cems
Altın Üye
 
cems kullanıcısının avatarı
 
Giriş: 02/09/2005
Şehir: İstanbul
Mesaj: 1,593
Excel Vers. ve Dili:
office 2003 tr + office 2010 tr
Varsayılan

Sayın Ayhan ,

Kodları okurken , nasıl bunu atladım diye düşünmeden edemiyor insan . Rapor sayfasını da kodlamışsınız.

Gece saatlerinde deneyerek sonucu yazacağım , çok teşekkür ederim . Bir yerden sonra insan da " out of range " oluyor
cems Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-12-2017, 17:11   #6
cems
Altın Üye
 
cems kullanıcısının avatarı
 
Giriş: 02/09/2005
Şehir: İstanbul
Mesaj: 1,593
Excel Vers. ve Dili:
office 2003 tr + office 2010 tr
Varsayılan

Alıntı:
cems tarafından gönderildi Mesajı Görüntüle
Sayın Ayhan ,

Kodları okurken , nasıl bunu atladım diye düşünmeden edemiyor insan . Rapor sayfasını da kodlamışsınız.

Gece saatlerinde deneyerek sonucu yazacağım , çok teşekkür ederim . Bir yerden sonra insan da " out of range " oluyor
Sayın Ayhan ,

Süzme kodları kusursuz çalıştı ve rapor sayfasına da süzüldüğü hali ile aktardı. Tekrar göz nurunuz için çok teşekkür ederim
cems Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 22:45


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon- Çorlu Dans- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden