• DİKKAT

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

Tarihler arasi arama yapmak.

  • Konbuyu başlatan Konbuyu başlatan TRUSA
  • Başlangıç tarihi Başlangıç tarihi
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
 
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.
 
Selam leventm,

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

Tesekkurler..
 
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]
 
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..
 
Geri
Üst