• DİKKAT

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

Cins ve Tarih aralıklı veri getirme

  • Konbuyu başlatan Konbuyu başlatan nane
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Ocak 2006
Mesajlar
304
Excel Vers. ve Dili
Excel 2007 tr
Merhabalar,
Forumda arama yaptım ve cins ayrımı ve belli tarihler arası veriyi alma konusunda tam manasıyla bir konu bulamadım.
Bulduklarım ile ise sadece tarihler arası veri almı kısmı idi onu da kendi dosyama uyarladım.
Şimdi ise belli grubun seçilip ayrılması ve istenen tarihler arası verinin alınabilmesi ve yılın ilk gününden itibaren süzülen ilk tarihe kadar olan kısmın ise NAKLİ YEKÜN olarak borç veya alacak toplamının 1. satıra getirilmesi
Örnek dosyada ektedir.

Yardımlarınızı bekliyorum şimdiden teşekkürler
Yb®
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodu deneyiniz.

Kod:
Sub AKTAR()
    Dim S1 As Worksheet, S2 As Worksheet
    
    Set S1 = Sheets("Ekstre")
    Set S2 = Sheets("Girişler")
    
    S1.Range("A11:L" & Rows.Count).ClearContents
    
    With S2.Range("$A$1:$L$" & Rows.Count)
        .AutoFilter Field:=2, Criteria1:=">=" & CLng(S1.Range("B8")), Operator:=xlAnd, Criteria2:="<=" & CLng(S1.Range("C8"))
        .AutoFilter Field:=7, Criteria1:=S1.Range("C5")
    End With
    
    S2.Range("A2:L" & S2.Cells(Rows.Count, 1).End(3).Row).Copy S1.Range("A11")
    S2.Range("A1").AutoFilter
    
    MsgBox "Aktarım işlemi tamamlanmıştır.", vbInformation
End Sub
 
merhaba,

formüllerle çözülmeye çalışıldı...

eki inceleyiniz...

kolay gelsin...
 
Son düzenleme:
Merhabalar,
Korhan bey ve sakman26 yardımlarınız için teşekkür ederim.
Birkaç günden beri foruma bakamamıştım. Gecikmeden dolayı af edersiniz.

Teşekkürler

Yb®
 
merhaba,

formüllerle çözülmeye çalışıldı...

eki inceleyiniz...

kolay gelsin...

Merhabalar sakman26,

Gönderdiğiniz dosyayı ancak inceleme fırsatı buldum.
Nakli yekün diye toplam almak istediğim raporu alınan hesabın İLK tarihe kadar olan kısmının toplamı olacaktır. Sanırım anlatamadım rapor tarihleri arası toplam değil, ha o en alta toplam olarak getirtilebilir.

Örnek Kırtasiye giderini 10.07.2012 ile 30.09.2012 arası rapor alıyorsak Nakli yekün sütununda tarih yerine rapor bir gün öncesi yani, 09.07.2012 yazacak toplam ise 100,00 TL dönem içi ise 1250,00TL rapor sonu toplamı ise 100+1250 = 1350,00 TL olmalı

Eğer bunu dikkate alarak değerlendirirseniz çok iyi olur.
Yb®
 
Merhaba,
dediğinizi tam anlayamadım. Eğer dediğiniz , örneğin kırtasiye için
1 - 10.07.2012 - 30.09.2012 tarihleri arasında nakli yekün istiyorsunuz.
2 - Bu arada 10.07.2012 den öncekilerinin de listesini mi istiyorsunuz.?
(Daha önce gönderdiğim ek de sizin gönderdiğiniz şekliyle kendi sayfalarınız vardır ve böyle birşeyden bahsedilmemektedir. başlangıç tarihini önceki bir tarih , bitiş tarihini de dediğiniz 09.07.2012 yi seçerseniz bir yekün listesi alacaksınız.)
(Bu arada 09.07.2012 ye kadar kırtasiye yekünü göremedim ama siz 100,00 diyorsunuz.)
eğer listenin üzerinde ,istenilen periyoda kadarki bilgiler ve toplamı , altta da istenilen periyoda ait bilgiler ve toplamı isteniyorsa ona göre düzenleme yapmak lazım.
Kolay gelsin...
 
sn sakman26



Nakli yekün ile ilgili demek istediğim ise yıl başından beri hareketleri olan bir ekstre de sadece bir ayın dökümleri listelenmek istediğinde yıl başından itibaren listenin hazırlandığı tarihe kadar olan kısmın bakiyesi olmalıdır.

Kendi hazırladığım dosya ile yarı formül ve yarı Korhan Ayhan beyin vermiş olduğu makro ile dosyayı düzenledim.
Eğer Korhan Ayhan bey de bu nakli yekün alma kısmını da makroya eklerse tabiki daha güzel olacaktır.

Yardımlarınız için yeniden teşekkürler

Yb®
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodu deneyiniz.

Kod:
Sub AKTAR()
    Dim S1 As Worksheet, S2 As Worksheet
    
    Set S1 = Sheets("Ekstre")
    Set S2 = Sheets("Girişler")
    
    S1.Range("A11:L" & Rows.Count).ClearContents
    
    With S2.Range("$A$1:$L$" & Rows.Count)
        .AutoFilter Field:=2, Criteria1:=">=" & CLng(S1.Range("B8")), Operator:=xlAnd, Criteria2:="<=" & CLng(S1.Range("C8"))
        .AutoFilter Field:=7, Criteria1:=S1.Range("C5")
    End With
    
    S2.Range("A2:L" & S2.Cells(Rows.Count, 1).End(3).Row).Copy S1.Range("A11")
    S2.Range("A1").AutoFilter
    
    MsgBox "Aktarım işlemi tamamlanmıştır.", vbInformation
End Sub

Merhabalar Korhan bey,

Yukarıdaki kodları başka dosyada kullanmak istedim ve şu hatayı alıyorum. Acaba nerede hata yapıyorum yardımcı olabilirmisiniz.



Sub AKTAR()
Dim S1 As Worksheet, S2 As Worksheet

Set S1 = Sheets("Ekstrre")
Set S2 = Sheets("Gider")

S1.Range("A11:T" & Rows.Count).ClearContents

With S2.Range("$A$4:$T$" & Rows.Count)
.AutoFilter Field:=2, Criteria1:=">=" & CLng(S1.Range("C6")), Operator:=xlAnd, Criteria2:="<=" & CLng(S1.Range("C7 "))
.AutoFilter Field:=8, Criteria1:=S1.Range("C5")
End With

S2.Range("A5:T" & S2.Cells(Rows.Count, 1).End(3).Row).Copy S1.Range("A11")
S2.Range("A1").AutoFilter

MsgBox "Aktarım işlemi tamamlanmıştır.", vbInformation
End Sub

Run-time error '1004':
Range sınıfının AutoFilter yöntemi başarısız

Hata ve mesajı veriyor.
 
selam,
kodları kullandığınız dosyadaki tablo ile sonrdan kopyaladığınız dosadaki tablonun/verilerin yapısı farlıdır muhtemelen
hata aldığınız dosyayı ekleyebilirseniz çözüm daha basit olacaktır
 
selam,
kodları kullandığınız dosyadaki tablo ile sonrdan kopyaladığınız dosadaki tablonun/verilerin yapısı farlıdır muhtemelen
hata aldığınız dosyayı ekleyebilirseniz çözüm daha basit olacaktır

İşte dosya ektedir.
Yardımlarınızı bekliyorum. Teşekkürler.

Yb®
 

Ekli dosyalar

selam,
dosyanızde B:T sutunları arası tablo yaptığınız için bu hatayı alıyorsunuz
Ya filtrelemeyi With S2.Range("$A$4:$T$" & rows.Count) B:T sutunları arasında yapmalı
Ya tabloya A sutununuda dahil etmeli
Yada tabloyu kaldırmalısınız;
Tabloyu farkında olmadan oluşturduysanız kaldırmak için:(Excel 2010 )
1.Gider sayfasında B5 hücresine tıklayın
2.Önce tasarım sekmesine sonra aralığa dönüştüre tıklayın ve sorulan soraya evet deyin
 
merakli_72 tabloda değişiklik yapmak istemiyorum.
Kod için ise With S2.Range("$A$4:$T$" & rows.Count) yerine With S2.Range("$B$4:$T$" & rows.Count) yada With S2.Range("$B$:$T$" & rows.Count) şeklinde de denedim fakat olmadı.

Sizde deneyebilirmisiniz.
Teşekkürler
Yb®
 
S2.Range("$A$4:$T$" & rows.Count) SATIRINDA rows.count kullanınca bu seferde alttan tablo dışına taşılıyor tabiki :)
Mademki tabloda değişiklik yapmak istemiyorsunuz sorun yaşadığınız kodları sizin tablnuza göre uyarladım, lütfen inceleyiniz
 

Ekli dosyalar

S2.Range("$A$4:$T$" & rows.Count) SATIRINDA rows.count kullanınca bu seferde alttan tablo dışına taşılıyor tabiki :)
Mademki tabloda değişiklik yapmak istemiyorsunuz sorun yaşadığınız kodları sizin tablnuza göre uyarladım, lütfen inceleyiniz

Merhabalar,
Dosyayı inceledim aktarım yapıyor fakat B sütunundaki tarihleri değiştiriyor. Ay/gün/yıl formatına çevirmiş tabi ki böyle olunca da ekstrede başlangıç ve bitiş tarihlerini de dikkate almadan aktarım oluyor.
Örnek olarak YEMEK GİDERLERİ ni denedim.
Birde aynı dosyanın 883 satırına kadar dolu haline kodları kopyala yapıştır ile yaptım burada getirmiyor. 1006.cı satır olan toplam satırındaki bilgileri getiriyor.
Bakabilirisiniz teşekkürler
Yb®
 
"Dosyayı inceledim aktarım yapıyor fakat B sütunundaki tarihleri değiştiriyor. Ay/gün/yıl formatına çevirmiş tabi ki böyle olunca da ekstrede başlangıç ve bitiş tarihlerini de dikkate almadan aktarım oluyor.
Örnek olarak YEMEK GİDERLERİ ni denedim."

Bu kısım tamam sanırım bende yemek giderleri için denedim bir sorun göremedim eki tekrar incelemenizi rica edeceğim

Birde aynı dosyanın 883 satırına kadar dolu haline kodları kopyala yapıştır ile yaptım burada getirmiyor. 1006.cı satır olan toplam satırındaki bilgileri getiriyor.
Bakabilirisiniz teşekkürler
Bunu anlayamadım sorun devam ediyorsa örneklendirirmisiniz
 

Ekli dosyalar

Sn. Merakli_72, acaba ben yanlış mı anlattım şimdi yeni gönderdiğiniz dosyada da sadece toplam satırını getiriyor.
Oysa o satır haricinde istenilen hesaba ait "ilk ve son tarih"ler arası verilerin gelmesi gerekiyor.Bilgilerin alınacağı alan A5 ile T1005 arası olacak
tşk.
 
yemek giderleri için bendeki ekran görüntüsünü gönderiyorum
istediğiniz bu değilmi

eğer istediğiniz bu fakat sizde boyle bir sonuc görünmüyorsa,
bölgesel ayarlarınızı kontrol etmenizi rica edicem

yok istediğiniz bundan farklı birşeyse ben yanlış anlamışım demektir :)
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    61.2 KB · Görüntüleme: 15
Sn. Merakli_72,
-Liste sonrası son dört sütundan son üç sütuna ait verileri 0,00 olarak geliyor. Veride o kısımda formül var ondan mı acaba o sıfırlar gelmesin.
-Birde 10. satıra nakli yekün alıyorum onu da makro ile alabilirmiyiz. Rapor alınacak ilk tarih 01.02.2012 ise 01.01.2012 den 01.02.2012 ye kadar olan listeye, rapora dahil edilmeyen hareketlerin toplamını O10, P10, R10, S10 satırlarının toplamını yazsın G10 ve H10 hücrelerine "DEVİR" yazsın

-Fakat kendi asıl dosyam olan verilerin çok olduğu dosyaya uyarlayamadım. Acaba (liste) tablo da bir değişiklik mi yaptınız. Neden olmuyor acaba ?
 
Son düzenleme:
Sn. Merakli_72,
-Liste sonrası son dört sütundan son üç sütuna ait verileri 0,00 olarak geliyor. Veride o kısımda formül var ondan mı acaba o sıfırlar gelmesin.
QUOTE]

Dosya/Seçenekler/Gelişmiş/Değeri sıfır olan hücrelerde sıfırı göster seçeneğindeki check işaretini kaldırırsanız bu sıfırlar görünmez

Fakat kendi asıl dosyam olan verilerin çok olduğu dosyaya uyarlayamadım. Acaba (liste) tablo da bir değişiklik mi yaptınız. Neden olmuyor acaba ? QUOTE]
Hayır listede bir değişiklik yapmadım, Extre hazırla düğmesine tıklandığında çalışan komutları düzenledim sadece
 
Yardım

Merhaba ekteki dosyada tarihler ve ismlere bağlı sayfalar var. şunu yapmak istiyorum. sayfa 1 de isimlerin karşısına kendi adının yazdığı sayfalardaki bugün yaptığı işlemleri getirmek istiyorum. bunun bir yolu var mı?

teşekkürler
 

Ekli dosyalar

Geri
Üst