Tarih aralığına göre süzüp veriyi farklı alana kopyal

Katılım
3 Aralık 2004
Mesajlar
18
Merhabalar...
Benim tablodaki değerleri tarih aralığı belirterek süzmek ile ilgili bir problemim var. Aslında Otomatik süz komutuyla bunu yapabiliyorum ancak makro kullanarak ve süzülmüş veriyi başka alana kopyalayarak bunu yapmak istiyorum. İşte sorun burada başlıyor. Sanırım ekteki tabloda dahi iyi açıkladım.

Þimdiden herkese teşekkür ederim.
İyi günler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,030
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki örneği inceleyiniz.

selamlar
 
Katılım
3 Aralık 2004
Mesajlar
18
Sayın leventm çok teşekkür ederim.
Bu bana ikinci yardımınız.
Sanırım sorunum çözüldü.

İyi çalışmalar...
 
Katılım
3 Aralık 2004
Mesajlar
18
Sn leventm;
Gönderdiğiniz dosya kendi içinde çalışıyor.
Fakat bir türlü kendi dosyama (ekte) uyarlayamadım.
Yardımcı olursanız sevinirim.

Teşekkürler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,030
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Hangi başlıktaki tarihi karşılaştıcak,belirtirseniz kodda değişiklikleri yazacağım. Ayrıca kopyalanacak alanı ayrı bir sayfaya yapmakta fayda var diye düşünüyorum.
 
Katılım
3 Aralık 2004
Mesajlar
18
"J" sütünundaki "Planlanan sevk tarihi " başlığını dikkate alacak

Teşekkürler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,030
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodları aşağıdaki gibi değiştirin, J8 ve J9 tarih aralığında J11 başlığı altındaki tarihi araştırıyor. eğer J11'i değiştirmek isterseniz cells(c,10) ifadesindeki 10 yani sütun numarasını değiştirin. Eğer işlem yapmazsa ana sayfadaki hücrelerde bulunan tarihleri tekrar yazın.

Sub suz()
Range("I2050:M4050").ClearContents
a = 0
For c = 12 To 12 + WorksheetFunction.CountA(Sheets("sayfa1").Range("C12:C2010"))
If Cells(c, 10).Value >= [j8].Value And Cells(c, 10).Value <= [j9].Value Then
Range(Cells(c, 9), Cells(c, 13)).Copy
Cells(a + 2050, 9).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
a = a + 1
End If
Next c
End Sub

selamlar
 
Katılım
3 Aralık 2004
Mesajlar
18
Konuyu ne kadar iyi bildiğiniz verdiğiniz ipuçlarından da anlaşılıyor.
" Eğer işlem yapmazsa ana sayfadaki hücrelerde bulunan tarihleri tekrar yazın. "
demişsiniz ve de söylediğiniz gibi işlem yapmadı tarihleri tekrar yazana kadar.
Ancak ben o tarihleri başka bir form üzerindeki TextBox ları kullanarak oraya atıyorum. Yani formumun üzerinde 2 TextBox ve bir CommandButton var.
Command butona bastığımda J8 ve J9 hücrelerindeki eski değeri siliyor, textboxlara girdiğim 2 tarihi J8 ve J9'a taşıyor daha sonrada sizin yukarıda yazdığınız süz kodunu çalıştırıyor. ve ne yazık ki sonuç vermiyor :(
bu durumda tarihlerin tekrar girilmesi sorununu nasıl aşabilirim

Teşekkürler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,030
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Textbox'a aşağıdaki kodu yazarsanız sanırım sorun çözülecektir.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "mm""/""dd""/""yy")
End Sub

Konuya çok iyi bildiğimi asla iddia edemem. Sitede bu işin uzmanları mevcuttur. Ve bende onlardan öğrenmiş olduklarımı sizlere aktarıyorum. Ayrıca verdiğim kodları mutlaka deniyorum.

selamlar

Not: textbox yazarak arama yaparsanız,textboxlar ile ilgili bir çok kod örneği bulabilirsiniz.
 
Üst