Veri Süzme İle İlakalı

Katılım
2 Haziran 2006
Mesajlar
2
Ustadlar benımde sizlerden bı ricam olcak ekte yolladıgım exel dosyasında sayfa1 dekı verileri sayfa2 ye aktarnmak ıstıyorum ama su sekılde sayfa1 de mısafırın gırıs cıkıs tarıhlerı yazıyor mesela musteri 10/06/2007 rtarihinde giriş yapmıs 10/07/2007 tarıgınde cıkacak bu sayı cogaltılabılır musterı sayısı artacagı ıcın şimdi sayfa2 ye ben 15/06/2007 gıbı bı tarıh yazacam ve bana safya1 de kı musterılerden 15/06/2007 de konaklayanların dokumunu yapacak bu yapabılırmıyız
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Sayfa2'de B2 hücresine tarih yazıyorsunuz ve aktar butonuna basıyorsunuz.
Ekli dosyayı inceleyiniz.:cool:
Not:
Ben dosyayı hazırlayana kadar sayın hocamız Necdet Yesertener bey cevap vermiş bile
Hocam özür .Göremedim.:oops:
Kod:
Sub aktar()
Dim tarih As Date, tarih1 As Date, tarih2 As Date, sonsat As Long
Dim sayfa As String, sat As Long, sut As Byte, i As Long
'On Error GoTo hata
Sheets("Sayfa2").Select
If Range("B1").Value = "" Then Exit Sub
If Not IsDate(Range("B1").Value) Then
    MsgBox "B1 Hücresine Tarih giriniz..!!", vbCritical
    Range("B1").Select
    Exit Sub
End If
tarih = Range("B1").Value
sayfa = "1"
sonsat = Sheets(sayfa).Cells(65536, "C").End(xlUp).Row
If sonsat < 2 Then Exit Sub
sat = 4
Range("A4:H65536").ClearContents
For i = 2 To sonsat
    If Not IsDate(Sheets(sayfa).Cells(i, "G").Value) Or Not IsDate(Sheets(sayfa).Cells(i, "H").Value) Then GoTo atla
    tarih1 = Sheets(sayfa).Cells(i, "G").Value
    tarih2 = Sheets(sayfa).Cells(i, "H").Value
    If tarih >= tarih1 And tarih <= tarih2 Then
        For sut = 1 To 8
            Cells(sat, sut).Value = Sheets(sayfa).Cells(i, sut).Value
        Next sut
        sat = sat + 1
    End If
atla:

Next i
MsgBox "AKTARMA TAMAMLANDI"
hata:
End Sub
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,434
Excel Vers. ve Dili
Ofis 365 Türkçe
Say&#305;n Sezar,

&#304;kimizde ayn&#305; anda yan&#305;t vermi&#351;iz bence iyi de etmi&#351;iz. En az&#305;ndan farkl&#305; y&#246;ntemlerle sonuca ula&#351;m&#305;&#351;&#305;z.

Ben &#231;o&#287;u zaman anla&#351;&#305;ls&#305;n diye kodlar&#305; uzat&#305;r&#305;m, bir anlamda hem anla&#351;&#305;lmas&#305; kolay olsun hemde daha &#231;abuk &#246;&#287;renilmesi.

Sizde d&#246;ng&#252; ile aktarm&#305;&#351;s&#305;n&#305;z, ilk d&#252;&#351;&#252;nd&#252;&#287;&#252;mde ise ben Copy ile yapay&#305;m demi&#351;tim, yani sonu&#231;ta iyi olmu&#351;, iki ayr&#305; &#231;&#246;z&#252;m &#351;ekli, elinize sa&#287;l&#305;k
 
Üst