Tarih aralýðýna göre süzüp veriyi farklý alana kopyal [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : Tarih aralýðýna göre süzüp veriyi farklý alana kopyal


cuneyt
05-12-2004, 11:15
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
05-12-2004, 12:48
Ekteki örneði inceleyiniz.

selamlar

cuneyt
05-12-2004, 13:09
Sayýn leventm çok teþekkür ederim.
Bu bana ikinci yardýmýnýz.
Sanýrým sorunum çözüldü.

Ýyi çalýþmalar...

cuneyt
05-12-2004, 14:52
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
05-12-2004, 15:24
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.

cuneyt
05-12-2004, 15:29
"J" sütünundaki "Planlanan sevk tarihi " baþlýðýný dikkate alacak

Teþekkürler...

Levent Menteþoðlu
05-12-2004, 16:00
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

cuneyt
05-12-2004, 16:34
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
05-12-2004, 17:02
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.


Özel Arama