• DİKKAT

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

Borç Alacak Rapor kod yardımı

Katılım
3 Şubat 2007
Mesajlar
309
Excel Vers. ve Dili
excel 2007 / excel 2010
Arkadaşlar merhaba ,

Ek'te formülleri makroya çevirerek forumda ki örneklerden yararlanarak düzenlediğim hesaplamalarla çıkardığım raporların daha düzenli ve hızlı bir şekilde nasıl yapabilirim yardımcı olabilirmisiniz.

Alış Satış Banka vs sayfalarında ki veriler farklı dosyalardan yapıştırarak devamlı güncelleniyor ve veri satır sayısı günden güne artıyor. Bu durumunda göz önünde bulundurulmasını rica ediyorum.

Not: dosyanın orjinali ofis 2007 olarak kayıtlıdır.
 

Ekli dosyalar

Konu güncel

Arkadaşlar merhaba,

Bu konuda yardım ve önerilerinizi rica ediyorum.

Teşekkürler
 
Sn Ralkan

İstemiş olduğunuz raporlar hakkında detaylı bilgi verirmisiniz. Dosyanızdan anladığım kadarıyla örneğin, OZET_BORC sayfasında aşağıdaki gibi bir kod kullanabilirsiniz.

Kod:
Sub borclar()
Set s1 = Sheets("BORÇLAR")
Set s2 = Sheets("OZET_BORC")
s1.Range("F4:F182,P4:S182").Copy
s2.Range("B4").PasteSpecial Paste:=xlPasteValues
s2.[b4:f65536].Sort Key1:=s2.[c4], Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Application.CutCopyMode = False
End Sub
 
Sn Ralkan

İstemiş olduğunuz raporlar hakkında detaylı bilgi verirmisiniz. Dosyanızdan anladığım kadarıyla örneğin, OZET_BORC sayfasında aşağıdaki gibi bir kod kullanabilirsiniz.

Kod:
Sub borclar()
Set s1 = Sheets("BORÇLAR")
Set s2 = Sheets("OZET_BORC")
s1.Range("F4:F182,P4:S182").Copy
s2.Range("B4").PasteSpecial Paste:=xlPasteValues
s2.[b4:f65536].Sort Key1:=s2.[c4], Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Application.CutCopyMode = False
End Sub

Sayın Levent Menteşoğlu merhaba ,

Öncelikle teşekkür ederim ilginize , önerdiğinizi özet borç sayfasında kullanıp sonucu bildireceğim.

Benim sorunum öncelikle Alacaklar ve Borçlar sayfalarındaki sonuç sütunlarına getirdiğim verilerde , önceleri bu sayfalarda ki sonuçları topla.çarpım ve topla(eğer .. gibi fonksiyonlarla getiriyordum. Bu fonksiyonlarda verilerin sayısı artıkça hesaplama süresi uzun zaman aldığından bu fonksiyonları makroya dönüştürerek şuan ki duruma getirdim.
Fakat makrolarda da aynı durum oluşmaya başladı ,forumda araştırırken linkini verdiğim soruya verdiğiniz cevapta topla.çarpım veya indis gibi fonksiyonların makroya dönüştürüldüğünde hesaplamanın uzun süreceğini o nedenle ado kodlarının daha uygun olabileceğinden bahsetmeniz ve kendi sorunumunda bu nedenle olabileceğini düşünerek örneği de kendi dosyama uygulayamadığımdan konuyu açma ihtiyacı hissettim.
Özet Borç ve özet Alacak sayfaları belirli bir krıter vererek Alacaklar ve Borçlar sayfalarının özetini çıkarmakta ibaret.

Sonuç olarak sayın hocam umarım bu uzun açıklamalarımdan istediğim sonucu anlatabilmişimdir.

Tekrar teşekkür ederim, iyi geceler.
 
Merhaba ,

Konu hakkında Levent Hocam'ın katkılarını bekliyorum.:)
 
Sn Ralkan

Yoğunluğum sebebiyle sorunuzla ancak müsait olduğum bir zamanda ilgileneceğim. Kusura bakmamanızı rica ederim.
 
Şimdi efendim.Formülleri bize çözdürmeyin.Ne yapmak istediğiniz formüllere bizim bakarak çıkarmamızı değilde siz ne yapmak istediğiniz anlatın.Bizde bir hal çaresine bakalım.Kolay gelsin.Filtre ise Filtre , ADO ise ADO ne lazımsa artık.:cool:
 
Şimdi efendim.Formülleri bize çözdürmeyin.Ne yapmak istediğiniz formüllere bizim bakarak çıkarmamızı değilde siz ne yapmak istediğiniz anlatın.Bizde bir hal çaresine bakalım.Kolay gelsin.Filtre ise Filtre , ADO ise ADO ne lazımsa artık.:cool:

Evren Hocam merhaba ,

Kusura bakmayın sizlere formül çözdürmek gibi bir niyetim yok, amacım sadece alacak ve borçlarımı çıkarmak istiyorum.

Ben sadece formülleri makroya dönüştürdüğümden sizlerin uzmanlığı ile belki sonuç alabilirim diye düşünmüştüm.
 
Şimdi efendim.Formülleri bize çözdürmeyin.Ne yapmak istediğiniz formüllere bizim bakarak çıkarmamızı değilde siz ne yapmak istediğiniz anlatın.Bizde bir hal çaresine bakalım.Kolay gelsin.Filtre ise Filtre , ADO ise ADO ne lazımsa artık.:cool:

Evren Hocam merhaba ,

Ek'te eklediğim dosyada Alacaklar raporu için açıklamalarda bulundum yapmak istediğim işlemler için borçlar sayfası da aynı mantıkla olacağından sizlerden Alacak sayfasında ki formata uygun çözümü eğer vaktiniz müsaitse eklemenizi,diğer borçlar sayfasını da sizin önereceğiniz çözümü inceleyerek sizinde zamanınızı fazla almamak için kendim yapmak istiyorum:).

Teşekkür ederim
 

Ekli dosyalar

Şimdi efendim.Formülleri bize çözdürmeyin.Ne yapmak istediğiniz formüllere bizim bakarak çıkarmamızı değilde siz ne yapmak istediğiniz anlatın.Bizde bir hal çaresine bakalım.Kolay gelsin.Filtre ise Filtre , ADO ise ADO ne lazımsa artık.:cool:

Evren Hocam merhaba ,

Açıklamalarımı yetersiz mi gördünüz acaba istediğim sadece kullandığım makroların daha uygun kodlarla değiştirilmesi.

Bu konuda yardımlarınızı rica ediyorum.:)
 
Levent hocam merhaba ,

Dosyayı tekrar güncelliyorum.

Şahsınızda hocalarımızın ve foruma katılan tüm arkadaşların bayramını en içten dileklerimle kutluyorum.
 

Ekli dosyalar

Ad tanımlamaları

Levent Hocam merhaba ,

Dosya ile ilgili ad tanımlamaları ek'tedir.

İlginize teşekkür ederim.
 

Ekli dosyalar

Sevgili arkadaşım,

Şu anda örnek yapmaya fırsatım olmadı bunun için kusura bakmayın ancak anladığım kadarıyla formülleri son derece iyi bir şekilde kullanabilmektesiniz. Bu durumda ETOPLA ve VSEÇTOPLA formüllerini incelerseniz, sizin istediğiniz koşullara göre özet toplamları alıp rahatça gösterebileceğinizi düşünmekteyim. Eğer veri tabanınız çok büyükse VSEÇTOPLA formülünü kullanmanız daha yararlı olacaktır.

Saygılar,
 
Vseçtopla

Sevgili arkadaşım,

Şu anda örnek yapmaya fırsatım olmadı bunun için kusura bakmayın ancak anladığım kadarıyla formülleri son derece iyi bir şekilde kullanabilmektesiniz. Bu durumda ETOPLA ve VSEÇTOPLA formüllerini incelerseniz, sizin istediğiniz koşullara göre özet toplamları alıp rahatça gösterebileceğinizi düşünmekteyim. Eğer veri tabanınız çok büyükse VSEÇTOPLA formülünü kullanmanız daha yararlı olacaktır.

Saygılar,

Sayın aslancimbom ,

Önerini dikkate alıp deneyeceğim fakat veritabanı çok büyük olduğundan formüllerde hesaplama uzun sürmesi üzerine yardım talebinde bulundum umarım sizin önerdiğiniz formülle bu durum oluşmaz.

Teşekkür ederim.
 
Sn Ralkan

ALACAKLAR isimli sayfada aşağıdaki kodu denermisiniz. Kodun çalışması çok hızlı değil ama işinizi görecektir. ADO ile de bulunacak bir çözüm döngü kullanılması nedeniyle aynı hızda çalışıyor.

Kod:
Sub aktarmuavın()
For i = 4 To Range("A65536").End(xlUp).Row
Cells(i, "g").Value = Evaluate("=SUMPRODUCT(--(MUH_Yeri=""Merkez""),--(MUH_HESAP_KODU=C" & i & "),--(MUH_TARIH>=A1),--(MUH_TARIH<=H2),--(MUH_BORC-MUH_ALACAK))+SUMPRODUCT(--(MUH_Yeri=""Merkez""),--(MUH_HESAP_KODU=D" & i & "),--(MUH_TARIH>=A1),--(MUH_TARIH<=H2),--(MUH_BORC-MUH_ALACAK))")
Cells(i, "g").Value = Cells(i, "g").Value
Cells(i, "h").Value = "=SUMPRODUCT(--(MUH_Yeri=""Gebze""),--(MUH_HESAP_KODU=RC4),--(MUH_TARIH>=R1C1),--(MUH_TARIH<=R2C8),--(MUH_BORC-MUH_ALACAK))+SUMPRODUCT(--(MUH_Yeri=""Gebze""),--(MUH_HESAP_KODU=R4C5),--(MUH_TARIH>=R1C1),--(MUH_TARIH<=R2C8),--(MUH_BORC-MUH_ALACAK))"
Cells(i, "h").Value = Cells(i, "h").Value
Next
MsgBox "İŞLEM BİTTİ"
End Sub
 
Sn Ralkan

ALACAKLAR isimli sayfada aşağıdaki kodu denermisiniz. Kodun çalışması çok hızlı değil ama işinizi görecektir. ADO ile de bulunacak bir çözüm döngü kullanılması nedeniyle aynı hızda çalışıyor.

Kod:
Sub aktarmuavın()
For i = 4 To Range("A65536").End(xlUp).Row
Cells(i, "g").Value = Evaluate("=SUMPRODUCT(--(MUH_Yeri=""Merkez""),--(MUH_HESAP_KODU=C" & i & "),--(MUH_TARIH>=A1),--(MUH_TARIH<=H2),--(MUH_BORC-MUH_ALACAK))+SUMPRODUCT(--(MUH_Yeri=""Merkez""),--(MUH_HESAP_KODU=D" & i & "),--(MUH_TARIH>=A1),--(MUH_TARIH<=H2),--(MUH_BORC-MUH_ALACAK))")
Cells(i, "g").Value = Cells(i, "g").Value
Cells(i, "h").Value = "=SUMPRODUCT(--(MUH_Yeri=""Gebze""),--(MUH_HESAP_KODU=RC4),--(MUH_TARIH>=R1C1),--(MUH_TARIH<=R2C8),--(MUH_BORC-MUH_ALACAK))+SUMPRODUCT(--(MUH_Yeri=""Gebze""),--(MUH_HESAP_KODU=R4C5),--(MUH_TARIH>=R1C1),--(MUH_TARIH<=R2C8),--(MUH_BORC-MUH_ALACAK))"
Cells(i, "h").Value = Cells(i, "h").Value
Next
MsgBox "İŞLEM BİTTİ"
End Sub

Levent Hocam merhaba ,

Umarım kendimi geliştirerek daha uygun yapıda data ve raporlama oluşturarak çözüm için yardımlarınızı talep ederim.

Teşekkür ederim.
 
Geri
Üst