LİSTEDEN AYLARA GÖRE RAPOR ALMAK.

Katılım
22 Ekim 2004
Mesajlar
178
LÝSTEDEN AYLARA G�RE RAPOR ALMAK.

Değrli Arkadaşlar,
Sayfa1 de SIRA NO-TARİH-FİRMA-BORÇ-ALACAK-BAKİYE sütunları bulunan bir liste var.Bu listeden aylara göre rapor almak istiyorum.Ã?rneğin ocak ayını seçtiğimde sadece ocak ayını alıp başka bir sayfada yada listenin yan tarafındaki sütunlarda listeleyecek.
Ã?rnek dosyayı gönderiyorum.Oradada açıklama var.Yardımcı olursanız sevinirim.
Teşekkürler.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Eğer makrolar ile aranız iyi değilse, bu iş için Data>Filter'da Tarih sütununa istediğiniz tarih aralığını girmek yeterli olmazmı. Doğrudan aynı yerde aynı sonucu görürsünüz, istersenizde alanı seçip, ctrl+c tuşları ile kopyalar ve istediğiniz yere yapıştırabilirsiniz.

Ama öğrenmek için veya illa makro ile yapmak gerekiyor derseniz bakayım.
 
Katılım
22 Ekim 2004
Mesajlar
178
Sayın danersin,
Yardımcı olursanız Makroyla yapmak istiyorum.
Teşekkürler.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Kusura bakmayın, dosyanıza userform eklemeye çalıştığınızı şimdi tekrar bakınca gördüm..

Başka uğraşan olmazsa (birde sn inflexible'ın sorusu vardı) bu iki soruya bu gece bakabilirim.. Daha önce uğraşan olursada wellcome.
 
Katılım
22 Ekim 2004
Mesajlar
178
Sayın danersin,
Elinize sağlık çok iyi olmuş.Kusursuz çalışıyor.Benim işimi gördü.
.............

Vaktiniz olursa "İKİ TARİH ARASINI AYNI ÞEKİLDE LİSTELEME" ile ilgilide bir çalışma yapabilirseniz.Sevinirim.Bu kodlar işimi gördü ama merak ettiğim için.

İyi çalışmalar.
Teşekkürler.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Yardımcı olabildiğime sevindim. :)

Umarım kodu incelersiniz, hataya yol açmamak için önceki alanı temizleme ile ilgili bir açıklama eklemiştim..

iki tarih arası için fikir vermek amacı ile ;
fazla birşey değiştirmeye gerek yok aslında
arananay yerine basgun ve songun deriz. Bu tarihleri
seçmek için bir calendar nesnesi yerleştirilebilir.
bak değişkenine doğrudan hücre değerini okuturuz,
Kod:
If bak = arananay Then
satırı yerine
Kod:
If bak>=basgun or bak<=songun then
Kolay gelsin.
 
Katılım
22 Ekim 2004
Mesajlar
178
Çok soruyorum ama takıldığım bir taraf var.Bunu hesap etmemiştim.Benim çalışmamda süzülecek tarih 14 Satırdan itibaren başlıyor.Aşağıdaki kodlarda,
Kod:
    Range("L14:R164").Select
    Selection.ClearContents
j = 2
t = 9
Do While Cells(j, 1) <> ""
bak = Choose(Month(Cells(j, 2)), "OCAK", "ÞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AÐUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
If bak = arananay Then
            'TAÞIDIÐINIZ YERDE SIRA NONUN NASIL OLMASINI İSTEDİÐİNİZİ ANLAMADIÐIM İÇİN AYNI SIRA NOYU TAÞITTIM,
    For k = 1 To 7
    Cells(t, k + 11) = Cells(j, k)
    Next k
    t = t + 1
    End If
    j = j + 1
    Loop
j = 2 satır başlangıcı sanıyorum.Değiştirmeyi denedim ama olmadı.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Evet J yi değiştireceksiniz.
1. sütunda hücre falan atlamıyorsunuz değilmi..
denedim sorun olmaması lazım..
Nasıl bir sorunla karşılaşıyorsunuz..
 
Katılım
22 Ekim 2004
Mesajlar
178
Kodları aşağıdaki şekilde denedim olmadı.
Kod:
Private Sub CommandButton1_Click()
j = 14
t = 14
Do While Cells(j, 1) <> ""
bak = Choose(Month(Cells(j, 2)), "OCAK", "ÞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AÐUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
If bak = arananay Then
    For k = 1 To 7
    Cells(t, k + 11) = Cells(j, k)
    Next k
    t = t + 1
    End If
    j = j + 1
    Loop

End Sub
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
sn.Alpay1 nasıl bir hata oluştuğunu anlatırsanız iyi olur.
 
Katılım
4 Aralık 2004
Mesajlar
129
(Public arananay) Bu Kodun tam açıklamasıyla örnek yapabilirmisiniz, raporu L9 değilde L1 de almak istersek ne yapmamız lazım..
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Bu dosyada arananay değişkenine Public dememe gerek yoktu ama programın ilerleyen aşamalarında lazım olabilir gibi geldi ve koydum.

Kod içinde kullanacağınız bir değişkene hiç bir bildirim yapmazsanız sadece içinde bulunduğu prosedürde etkili olur, private ile bildirim yaparsanız tüm modülde etkili olur, public ile bildirim yaparsanız tüm modüllerde etkili olur.

programda J kaynak bilginin olduğu satırları kontrol ediyor
T ise hedef alanın satır sayısını, yani T'yi 1,(veya başlıklardan sonra 2) yaparsanız L1'e yazar.
 
Katılım
4 Aralık 2004
Mesajlar
129
Teşekürler,Birde yazılan aylık dökümleri rapor sayfasına yazdırmak istersek nasıl kodlamamız lazım..
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Cells(t, k + 11) = Cells(j, k)
yerine
ilk bölümde hangi sayfaya yazdıracaksak onu belirtiriz.
worksheets("rapor").Cells(t, k + 11) = Cells(j, k)
 
Katılım
22 Ekim 2004
Mesajlar
178
Sayın danersin,
Çok ilginç bir sorun var.Aynı kodu denediğim bütün dosyalarda çalıştırıyorum.Fakat asıl benim üzerinde çalıştığım cari.xls dosyasında çalışmıyor.O dosyadan ayny sayfayı kopyalayıp başka dosyada bir sayfaya yapıştırıyorum.Kodu değiştirilmiş haliyle orda deniyorum çalışıyor."cari.xls" dosyasında neden çalışmadığını birtürlü anlayamadım.
Kodda baştaki j yi j = 14 yaptım acaba aşağıdaki j = 2 yide değiştirecekmiyim?
Onuda denedim gerçi olmadı.
Yani sizin yazdığınız kodda bir sorun yok.
Sanırım sorun benim dosyada.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Ama çalışmıyor demekle neyi kastettiğinizi anlatmadığınız sürece tahmin etmek çok zor oluyor. Yanlış verimi taşıyor yoksa hatamı veriyor..

Hata veriyorsa sayfada selection_change veya calculate vs olayının altındaa çalışan başka bir prosedür varsa onu bir yollayın , çatışmamı var bakalım.

Yanlış veri getiriyorsa zaten iki tane sayaç var j ve t, onların ilk değerleri ile oynayarak bulabilmeniz lazım doğrusunu..

j=2 diye Cells(j, 2)'yi kastediyorsanız hayır, o ikinci sütundaki tarihin ayını tespit için
 
Katılım
22 Ekim 2004
Mesajlar
178
Hata vermiyor.Butona tıklıyorum hata vermemesine rağmen işlemi yapmıyor.Ama dediğim gibi aynı sayfayı kopyalayıp başka bir dosyaya yapıştırıyorum.Aynı makroyuda oraya yazıyorum.Orada çalışıyor.Acaba benim "cari." dosyasında bir çakışma varda ondanmı çalışmıyor diye düşündüm ama HATA vermiyor.
 
Üst