Tarihler arasi arama yapmak.

Katılım
28 Eylül 2005
Mesajlar
176
Excel Vers. ve Dili
Microsoft Office Excel 2010 Ingilizce
Merhaba arkadaslar,

Sheet teki tablomdan, textboxlara yazdigim tarihler arasindaki bilgileri asagidaki macro ile almak istiyorum.Fakat bir turlu istedigim tarihler arasi gelmiyor. Hatta hicbir bilgi gelmiyor. Nerede yanlislik yaptigim konusunda bilginiz var mi? (kucuk tarih textbox3, buyuk tarih textbox4)

SAY = Cells(65536, 1).End(xlUp).Row
SQ = 2
For q = 3 To SAY
If Cells(q, 1) >= TextBox3.Text And Cells(q, 1) <= TextBox4.Text Then
Spreadsheet1.Sheets(1).Range("A" & SQ & ":A" & SQ) = Range("A" & q & ":A" & q).Value
Spreadsheet1.Sheets(1).Range("B" & SQ & ":H" & SQ) = Range("C" & q & ":I" & q).Value
SQ = SQ + 1
End If
Next q
Exit Sub
End If
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kod:
If Cells(q, 1) >= TextBox3.Text And Cells(q, 1) <= TextBox4.Text
Yukar&#305;daki sat&#305;r&#305; a&#351;a&#287;&#305;daki gibi de&#287;i&#351;tirin.

Kod:
If Cells(q, 1) >= clng(cdate(TextBox3)) And Cells(q, 1) <= clng(cdate(TextBox4))
Burada k&#305;sa bir a&#231;&#305;klama yapay&#305;m, textboxa yaz&#305;lan tarih de&#287;erleri metin olarak alg&#305;lan&#305;r, en g&#252;zel y&#246;ntem tarihin say&#305;sal de&#287;erinin kar&#351;&#305;la&#351;t&#305;r&#305;lmas&#305;d&#305;r. Yukar&#305;da verdi&#287;im sat&#305;r, &#246;nce veriyi cdate ile tarihe &#231;evirmekte sonrada clng ile say&#305;sal de&#287;ere &#231;evirmektedir.
 
Katılım
28 Eylül 2005
Mesajlar
176
Excel Vers. ve Dili
Microsoft Office Excel 2010 Ingilizce
Selam leventm,

Yine bos geliyor. Peki Cells den aldigimiz tarih icinde ayni islemi yapmamiz gerekmiyor mu ?
Ayrica bilgisayardaki tarih formati ile alakali olabilirmi ?

Tesekkurler..
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yine bos geliyor. Peki Cells den aldigimiz tarih icinde ayni islemi yapmamiz gerekmiyor mu ?
Ayrica bilgisayardaki tarih formati ile alakali olabilirmi ?
Bilgisayardaki tarih format&#305; ile kesinlikle ba&#287;lant&#305;s&#305; yok, e&#287;er tarihleride sayfaya bir textbox &#252;zerinden aktard&#305;ysan&#305;z veriler tarih de&#287;il metindir. Aktarma i&#351;lemi yukar&#305;da belirtti&#287;im gibi say&#305;sal de&#287;er olarak yap&#305;lmal&#305;d&#305;r. H&#252;cre bi&#231;imlendirmeden de g&#246;r&#252;nt&#252;n&#252;n tarih olarak ayarlanmas&#305; yeterli olur. Bu durumda kodu a&#351;a&#287;&#305;daki gibi d&#252;zenlemeniz san&#305;yorum sorunu &#231;&#246;zer.

Kod:
[LEFT]If clng(cdate(Cells(q, 1))) >= clng(cdate(TextBox3)) And Cells(q, 1) <= clng(cdate(TextBox4))[/LEFT]
 
Katılım
28 Eylül 2005
Mesajlar
176
Excel Vers. ve Dili
Microsoft Office Excel 2010 Ingilizce
Tekrar selam leventm,

Tam sizin soylediginiz gibi yaptigimi ve istedigim gibi oldugunu yazmak icin girdigimde cevabiniz ile karsilastim. Evet yukaridaki formul sorunsuz calisiyor.

Yardimlariniz ve en kisa surede cevap verdiginiz icin cek tesekkurler..
 
Üst