• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

listbox' da bulunan verilerin iki tarih aralığında süzülmesi

  • Konbuyu başlatan Konbuyu başlatan geren36
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
herkese iyi geceler,

Userform üzerinde işaretleğimiz başlangıç ve bitiş tarihleri arasında (başlangıç ve bitiş tarihleri aynı olabilir) yer alan bilgilerin listbox üzerine gelmesini istiyorum.

süzme işlemi, işaretli optionbuttona göre, işlem tarihine ya da valör tarihine göre yapılabilmelidir..

Listbox' a gelen bu verilerden (adet - komisyon1 ve komisyon2) sütünlarının toplamı da başlıkların hemen altındaki satırda yer almalıdır.


Not 1: Başlıkta yer alan bilgilerin fontlarının, listedeki bilgilerden ayrı olması (örneğin bold ya da diğerleri siyah iken başlık bilgilerinin fontlarının mavi olması v.b) sağlanabilir mi acaba ?

Not 2: Userform üzerindeki "rapor yap" butonuna basılınca listbox görülmekte olup, girdiğimiz kriterlere göre yapılacak çalışma da aynı butona basıldığında listbox üzerine gelmelidir.


Örneğin,

1 - "işlem tarihine göre süz" option buttonu işaretlidir.

2 - "başlangıç tarihi" 3.10.2007; "bitiş tarihi" 6.10.2007' dir.

3 - "rapor yap" butonuna basılınca listbox görülür.

4 - görülen listbox üzerinde "işlem tarihi" 6.10.2007 - 3.10.2007 arasında bulunan kayıtlar listelenir.

5 - Görülen bu kayıtların "adet", "komisyon1" ve "komisyon2" verilerinin toplamı alınır ve başlığın hemen altındaki satırda toplamlar hesaplanır.

6 - Başlıkla ilgili yukarıda yazdığım ( Not:1 ) hakkında yardım da alabilirsem ekstradan memnun olacağım.

herkese teşekkürler,
 
yanıt

Kod:
Private Sub CommandButton1_Click()
Set sv = Sheets("veri")
Set sr = Sheets("rapor")
sr.Range("a1:f1000").Clear
For sut = 1 To sv.[c65536].End(xlUp).Row
If sv.Range("c" & sut) >= Calendar1 And sv.Range("c" & sut) <= Calendar2 Then
Range("a" & sut & ":f" & sut).Copy
s = s + 1
sr.Range("a" & s).PasteSpecial
End If
Next
Application.CutCopyMode = False
ListBox1.Visible = True
End Sub
 
eme&#287;ine ve ilgine te&#351;ekk&#252;r ederim. ilk etapta a&#351;a&#287;&#305;daki tespitlerim olmu&#351;tur:

1 &#8211; s&#252;zme i&#351;lemi sonucunda listbox&#8217; da bulunmas&#305; gereken ba&#351;l&#305;klar, yap&#305;lan i&#351;lemin neticesi taraf&#305;ndan ezilmektedir. B&#246;ylece ba&#351;l&#305;klar yerine ilk kay&#305;tlar g&#246;r&#252;lmektedir.

2 &#8211; Ayn&#305; g&#252;n ba&#351;lang&#305;&#231; ve biti&#351; tarihli &#8220;i&#351;lem tarihine g&#246;re s&#252;z&#8221; i&#351;lemi neticesinde herhangi bir veri gelmemektedir. (&#246;rnek : 3 ekim i&#351;lemleri)

3 - Val&#246;r tarihine g&#246;re s&#252;zerken, tek bir kay&#305;t varsa (&#246;rnek: 12 ekim), i&#351;lem yap&#305;lmamakta, listbox bo&#351; gelmektedir.

4 &#8211; S&#252;zme i&#351;lemine ili&#351;kin veri yoksa (&#246;rnek: ba&#351;lang&#305;&#231; ve biti&#351; tarihi 4 ekim ve s&#252;zme i&#351;lemi i&#351;lem tarihine g&#246;re yap&#305;lmaktad&#305;r) listbox bo&#351; gelmemekte; bir &#246;nceki s&#252;zmenin neticesi listelenmektedir.

5 - S&#252;zme i&#351;lemine konu verilerin toplamlar&#305;, ba&#351;l&#305;klar&#305;n hemen alt&#305;ndaki sat&#305;rda g&#246;r&#252;nt&#252;lenememektedir.

bunlardan kurtulabilirsek olacak gibi. te&#351;ekk&#252;rler..
 
problem OK..

VBA arkadaşıma teşekkür ederim. bana ilham verdi :icelim: ve ben de yukarıda belirttiğim olumsuzlukları giderecek şekilde kendisinin kodunu geliştirdim.

şimdi istediğim gibi çalışıyor ancak,

Not 1: Başlıkta yer alan bilgilerin fontlarının, listedeki bilgilerden ayrı olması (örneğin bold ya da diğerleri siyah iken başlık bilgilerinin fontlarının mavi olması v.b) sağlanabilir mi acaba ?

sorumun yanıtını henüz bulamadım.

Bu konuda bilgisi olan var mı acaba ?

iyi geceler..
 
Selamlar,

Birinci sorunuzun cevab&#305; olarak Label yada StatusBar kullanman&#305;z&#305; &#246;neririm.
 
yanıt

Kod:
Private Sub CommandButton1_Click()
Set sv = Sheets("veri")
Set sr = Sheets("rapor")
sr.Range("a2:f1000").Clear
For sut = 1 To sv.[c65536].End(xlUp).Row
If sv.Range("c" & sut) >= Calendar1 And sv.Range("c" & sut) <= Calendar2 And sv.Range("b" & sut) >= Calendar1 And sv.Range("b" & sut) <= Calendar2 Then
Range("a" & sut & ":f" & sut).Copy
s = s + 1
sr.Range("a" & s + 1).PasteSpecial
End If
Next
Application.CutCopyMode = False
sut = sr.[d65536].End(xlUp).Row
sr.Range("d" & sut + 1) = WorksheetFunction.Sum(sr.[d2:d65536])
sr.Range("e" & sut + 1) = WorksheetFunction.Sum(sr.[e2:e65536])
sr.Range("f" & sut + 1) = WorksheetFunction.Sum(sr.[f2:f65536])
sr.Range("d" & sut + 1) = Format(sr.Range("d" & sut + 1), "#,##0.00")
sr.Range("e" & sut + 1) = Format(sr.Range("e" & sut + 1), "#,##0.00")
sr.Range("f" & sut + 1) = Format(sr.Range("f" & sut + 1), "#,##0.00")
ListBox1.Visible = True
End Sub
 
ilgi ve &#246;nerilerinize te&#351;ekk&#252;r ederim arkada&#351;lar...

&#231;al&#305;&#351;mam istedi&#287;im gibi tamamlanm&#305;&#351;t&#305;r.

iyi geceler..
 
run time error ve unspecified error

Mrb arkadaşlar, benim problemim userforma listbox koydum, rapor alma tarzında fakat şurada hata veriyor;

Private Sub UserForm_Initialize()
Sheets("KalanMiktar").Select

Dim i, son As Integer
ALANMUTEAHHIT.Clear
son = WorksheetFunction.CountA(Worksheets("KalanMiktar").Range("A12:A50000")) + 1


For i = 2 To son
If WorksheetFunction.CountIf(Worksheets("KalanMiktar").Range("C13:C" & i), Worksheets("KalanMiktar").Cells(i, 3).Value) = 1 Then
ALANMUTEAHHIT.AddItem Worksheets("KalanMiktar").Cells(i, 3)
End If
Next i

End Sub

ve verdiği hata runtime ve unspecified error hatası.. yardımcı olursanız sevinirim.
 
Yukarıdaki şekilde kodları kendi çalışmama uyarlamaya çalıştım ama bir yerde sorun çıktı ( Beceremedim :( )
İki tarih arasında yapılan işlemleri görmek istediğimde sadece F sütununa kadar alıyor (ve 12 sırada kalıyor tarihler arasındaki işlemlerin tümünü listelemesi gerekiyor) ama bana AD sütunuda dahil alması lazım ayrıca süzdüğüm tarihler arasında bulunan ve listelenen işlemleri userform üzerinde sayı olarak görmem münkün mü şimdiden teşekkürler
 
Geri
Üst