ListBoxtan ikitarih arası verileri plakaya göre de almak

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar Selamlar,
Aşağıdaki Sayın Korhan Hoca'ya ait kodlarla:
Sub sorgula()
On Error Resume Next
Set SGE = Sheets("Kayıtlar")
İLK_TARİH = UserForm2.TextBox1.Value
SON_TARİH = UserForm2.TextBox2.Value
If &#304;LK_TAR&#304;H <> "" And SON_TAR&#304;H <> "" Then
UserForm2.ListBox1.Clear
UserForm2.ListBox1.RowSource = ""
UserForm2.ListBox1.ColumnCount = 7
UserForm2.ListBox1.ColumnWidths = "20;55;100;50;20;20;30"
For Each H&#252;cre In SGE.Range("D2: D" & SGE.[A65536].End(xlUp).Row)
If CDate(H&#252;cre.Value) >= CDate(&#304;LK_TAR&#304;H) And CDate(H&#252;cre.Value) <= CDate(SON_TAR&#304;H) Then
UserForm2.ListBox1.AddItem
UserForm2.ListBox1.List(Sat&#305;r, 0) = H&#252;cre.Offset(0, -3).Value
UserForm2.ListBox1.List(Sat&#305;r, 1) = H&#252;cre.Offset(0, -2).Value
UserForm2.ListBox1.List(Sat&#305;r, 2) = H&#252;cre.Offset(0, -1).Value
UserForm2.ListBox1.List(Sat&#305;r, 3) = Format(H&#252;cre.Offset(0, 0).Value, "dd.mm.yyyy")
UserForm2.ListBox1.List(Sat&#305;r, 4) = H&#252;cre.Offset(0, 1).Value
UserForm2.ListBox1.List(Sat&#305;r, 5) = H&#252;cre.Offset(0, 2).Value
UserForm2.ListBox1.List(Sat&#305;r, 6) = H&#252;cre.Offset(0, 3).Value
Sat&#305;r = Sat&#305;r + 1
End If
Next
End If
Set SGE = Nothing
End Sub
iki tarih aras&#305; verileri al&#305;yorum. Ancak ben bu verileri UserForm2 &#252;zerinde ComboBox1 deki kriter ile B s&#252;tununda yaz&#305;l&#305; olan plaka no'lar&#305;na g&#246;re (iki tarih aras&#305; s&#252;zme i&#351;lemine + olarak) de filtre etmek istiyorum. Bir de s&#252;z&#252;len verilerden E s&#252;tunundan ve F s&#252;tunudan gelen verileri toplayarak UserForm2.TextBox3 e yazd&#305;rmak istiyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
:cool:
Kod:
If CDate(h&#252;cre.Value) >= CDate(&#304;LK_TAR&#304;H) And CDate(h&#252;cre.Value) <= CDate(SON_TAR&#304;H) _
And UCase(Replace(Replace(h&#252;cre.Value, "&#305;", "I"), "i", "&#304;")) = UCase(Replace(Replace(combobox1.Value, _
"&#305;", "I"), "i", "&#304;")) Then
    topla = topla + [B][COLOR="Red"]SGE[/COLOR][/B].Cells(h&#252;cre.Row, "E").Value + [B][COLOR="red"]SGE[/COLOR][/B].Cells(h&#252;cre.Row, "F").Value
'................
'Burada di&#287;er kodlar&#305;n&#305;z var.
'...........
End If
userform2.textbox3.Text = Format(topla, "#,##0.00")
 
Son düzenleme:
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n Evren Hocam,
Cevb&#305;n&#305;zdan dolay&#305; &#231;ok te&#351;ekk&#252;r ederim. Bir sorun var. Benmi hata yapt&#305;m bilmiyorum. &#304;ki tarih aras&#305; s&#252;zme i&#351;leminde de hata olu&#351;tu. Toplam sonucu 0 &#231;&#305;k&#305;yor. Say&#305;n Hocam birde plaka se&#231;meyip t&#252;m&#252;n&#252; de almam gerekebiliyor. Yani iki &#351;ekli de kullanabilmeliyim. Ben dosyay&#305; ekliyorum. &#304;lgilenebilirseniz memnun olurum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Evren Hocam,
Cevbınızdan dolayı çok teşekkür ederim. Bir sorun var. Benmi hata yaptım bilmiyorum. İki tarih arası süzme işleminde de hata oluştu. Toplam sonucu 0 çıkıyor. Sayın Hocam birde plaka seçmeyip tümünü de almam gerekebiliyor. Yani iki şekli de kullanabilmeliyim. Ben dosyayı ekliyorum. İlgilenebilirseniz memnun olurum.
Toplama konusu ile ilgili kodlarda bir değişiklik yaptım.
Bir önceki mesajımda düzeltilmiş durumu görebilirsiniz.
Plaka nosunun önceki mesajınızda Hepsi seçeneğinin de olacağı konusunda bir şey belirtmediğiniz için ben o konuda bir şey yazmadım.:cool:
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sa&#287;olun Evren Hocam,
Mesaj&#305;mdan sonra toplama konusunu ben de yapm&#305;&#351;t&#305;m. SGE olarak de&#287;ilde Sayfa2 olarak.Daha sonra mesaj&#305;n&#305;z&#305; g&#246;rd&#252;m.
Sub sorgula()
On Error Resume Next
Set SGE = Sheets("Kay&#305;tlar")
&#304;LK_TAR&#304;H = UserForm2.TextBox1.Value
SON_TAR&#304;H = UserForm2.TextBox2.Value
If &#304;LK_TAR&#304;H <> "" And SON_TAR&#304;H <> "" Then
UserForm2.ListBox1.Clear
UserForm2.ListBox1.RowSource = ""
UserForm2.ListBox1.ColumnCount = 7
UserForm2.ListBox1.ColumnWidths = "20;55;100;50;20;20;30"
For Each h&#252;cre In SGE.Range("D2:D" & SGE.[A65536].End(xlUp).Row)
If CDate(h&#252;cre.Value) >= CDate(&#304;LK_TAR&#304;H) And CDate(h&#252;cre.Value) <= CDate(SON_TAR&#304;H) And UCase(Replace(Replace(SGE.h&#252;cre.Value, "&#305;", "I"), "i", "&#304;")) = UCase(Replace(Replace(UserForm2.ComboBox1.Value, "&#305;", "I"), "i", "&#304;")) Then
topla = topla + SGE.Cells(h&#252;cre.Row, "E").Value
topla1 = topla1 + SGE.Cells(h&#252;cre.Row, "F").Value
UserForm2.ListBox1.AddItem
UserForm2.ListBox1.List(Sat&#305;r, 0) = h&#252;cre.Offset(0, -3).Value
UserForm2.ListBox1.List(Sat&#305;r, 1) = h&#252;cre.Offset(0, -2).Value
UserForm2.ListBox1.List(Sat&#305;r, 2) = h&#252;cre.Offset(0, -1).Value
UserForm2.ListBox1.List(Sat&#305;r, 3) = Format(h&#252;cre.Offset(0, 0).Value, "dd.mm.yyyy")
UserForm2.ListBox1.List(Sat&#305;r, 4) = h&#252;cre.Offset(0, 1).Value
UserForm2.ListBox1.List(Sat&#305;r, 5) = h&#252;cre.Offset(0, 2).Value
UserForm2.ListBox1.List(Sat&#305;r, 6) = h&#252;cre.Offset(0, 3).Value
Sat&#305;r = Sat&#305;r + 1
End If
Next
End If
UserForm2.TextBox3.Text = Format(topla, "###000")
UserForm2.TextBox4.Text = Format(topla1, "###000")
UserForm2.TextBox5 = CInt(Val(UserForm2.TextBox3.Value) + Val(UserForm2.TextBox4.Value)) * CInt(5)
Set SGE = Nothing
End Sub
&#351;&#246;yle yapt&#305;m. Ancak as&#305;l sorun &#351;u:
T&#252;m&#252; se&#231;ene&#287;i olmasa dahi &#351;u an do&#287;ru s&#252;zmeyi bu &#351;ekli ile de yapm&#305;yor.
Mesela ay&#305;n 20 sine ait hi&#231; kay&#305;t yok ama t&#252;m kay&#305;tlar listBoxta g&#246;r&#252;n&#252;yor.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sorgulama kodunda bir sorun gözükmüyor.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n Evren Hocam,
ListBoxta bir veriyiyi ListBox i&#231;erisine ald&#305;ktan sonra yeniden s&#252;zmek m&#252;mk&#252;nm&#252;d&#252;r? Sadece ListBoxtaki verileri
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Hocam, mademki mümkündür, yardımcı olmanız mümkünmüdür?:)
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Peki Te&#351;ekk&#252;r ederim Say&#305;n Hocam,
Olursa da sa&#287;olun, olmazsa da! Ancak olursa daha iyi olur, esirgemeyin. Bu olmazsa da sizin ge&#231;mi&#351;te yapt&#305;&#287;&#305;n&#305;z insanl&#305;klar&#305;n&#305;z&#305; unutturmaz, g&#246;nl&#252;n&#252;z ho&#351; olsun.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Peki Teşekkür ederim Sayın Hocam,
Olursa da sağolun, olmazsa da! Ancak olursa daha iyi olur, esirgemeyin. Bu olmazsa da sizin geçmişte yaptığınız insanlıklarınızı unutturmaz, gönlünüz hoş olsun.
Ne yapılacağını anlatırsanız bir şeyler yaparız.:cool:
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n Hocam durum &#351;u:
UserForm2 TexttBox1 ilk tarih, TextBox2 2. tarih, kay&#305;tlar isimli sayfadan D s&#252;tununa g&#246;re iki tarih aras&#305; kay&#305;tlar&#305; ListBox1 e listeliyorum. Sizin bu ba&#351;l&#305;kta ekledi&#287;iniz kodlarla toplamlar&#305;da al&#305;yorum. Ben istiyorum ki bu listeden ComboBox1 de yaz&#305;l&#305; olan Plaka No ya g&#246;re bir daha s&#252;zeyim ve yeni listenin toplamlar&#305;n&#305; alay&#305;m. E&#287;er ComboBox1 bo&#351; ise Plaka s&#252;zme olay&#305; olmas&#305;n, iki tarih aras&#305; s&#252;z&#252;len &#351;ekliyle kals&#305;n. ComboBox1 Plaka no se&#231;ilince Change olay&#305;na ba&#287;l&#305; olarak listboxtan s&#252;zs&#252;n. Dosyay&#305; son &#351;ekliyle yeniden ekliyorum Hocam. (Not:&#304;&#351;lemlerde ge&#231;i&#351;ler "ENTER" tu&#351;u ile yap&#305;l&#305;yor.)
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bu işemi verileri sayfadan listbox'a alırken yapıyordunuz zaten.:cool:
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Plakaya g&#246;re s&#252;zme i&#351;lemi yapm&#305;yordu Say&#305;n Hocam.
Program&#305; &#231;al&#351;t&#305;r&#305;nca "sorgulama" dan girerseniz i&#351;lem daha rahat g&#246;r&#252;n&#252;r Hocam.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Teşekkür ederim Sayın Evren Hocam,
İki makro ile kullandım. ComboBox1 boş iken birini dolu ise ikincisini kullandım. İşlem tamam Sağolun.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Teşekkür ederim Sayın Evren Hocam,
İki makro ile kullandım. ComboBox1 boş iken birini dolu ise ikincisini kullandım. İşlem tamam Sağolun.
Benim yazdığım kodlarda zaten combobox1 boş iken de tüm plakaları listeleyen şekilde idi.Dolu ikende combobox'ın içindeki değeri listeliyordu?
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Tamam hocam ben de onu inceliyordum. &#199;ok sa&#287;olun say&#305;n hocam.
 
Üst