• DİKKAT

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

verileri tarih büyüklüğüne göre başka bir sayfaya kaydetme

Katılım
23 Mart 2020
Mesajlar
17
Excel Vers. ve Dili
vba
Merhabalar. Aşağıda linkini koyduğum projede "sayım" sayfasındaki sayımı yapılan ve tarihi girilen malzemeleri "sayım kayıt" sayfasına "son sayımı kaydet" butonuna basınca yazdırmak istiyorum fakat son yapılan kayıt sayfanın sonuna değil sayfanın başına yazılsın yani tarihi büyük olan başta olacak şekilde yazılsın istiyorum. Nasıl yapabilirim yardımcı olursanız çok sevinirim.

 
.

Sayfaya aktardıktan sonra tarih Kolonunda yeniden eskiye sıralama yapılsa işinizi görecektir.
iş akışında atladığım kısım var mı.

.
 
Arkadaşı sorusu için aşağıdaki kodu hazırladım. Kod SAYIM KAYIT sayfasında gayet güzel çalışıyor ama SAYIM sayfasında çalışmıyor. Neden olduğunu çözemedim çok sinir bozucu. Artık arkadaşın sorunundan çok benim sorunum oldu. Öğrenmek istiyorum bu koddaki hata nedir ?

Kod:
Sub Kaydet()
alan = Sheets("Sayım").Cells(Rows.Count, "A").End(3).Row
Sheets("Sayım kayıt").Range(Cells(1, 1), Cells(alan, 4)).Value = Sheets("Sayım").Range("A1:D" & alan).Value
    ActiveWorkbook.Worksheets("Sayım Kayıt").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sayım Kayıt").Sort.SortFields.Add Key:=Range("C2") _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sayım Kayıt").Sort
        .SetRange Range(Cells(2, 1), Cells(alan, 4))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

End Sub
 
Key:=Range("C2")
Yerine
Key:=Worksheets("Sayım Kayıt").Range("C2")
denermisin
 
Denedim ama olmadı. Makroyu SAYIM KAYIT sayfasında çalıştırınca sorun yok SAYIM sayfasında çalıştırınca aşağıdaki satırda hata veriyor.


219126
 
alan = Sheets("Sayım").Cells(Rows.Count, "A").End(3).Row

alan tanımı yanlış sayfadan olabilir mi ?

alan = Sheets("Sayım kayıt").Cells(Rows.Count, "A").End(3).Row

dener misiniz ?
 
Ama kodun istenildiği gibi çalışması için SAYIM sayfasındaki veriye göre kurgulamak gerekiyor. Bu yüzden alan tanımını SAYIM sayfasına göre yaptım. SAYIM KAYIT sayfasına göre yaparsam kod hatalı sonuç verir.
 
Geri
Üst