• DİKKAT

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

Sıralı tekrarsız veri aktarımı

Katılım
19 Ocak 2012
Mesajlar
17
Excel Vers. ve Dili
trk
Ek dosyada detaylı olarak örneklediğim aktarımını fonksiyon ile nasıl yapabilirim?

Har satır grbunun son satırında bulunan kayıt zamanına göre tekrarlayan verilerin ayrılıp taşınması konusunda yardımlarınızı bekliyorum.
 

Ekli dosyalar

Ek dosyada detaylı olarak örneklediğim aktarımını fonksiyon ile nasıl yapabilirim?

Har satır grbunun son satırında bulunan kayıt zamanına göre tekrarlayan verilerin ayrılıp taşınması konusunda yardımlarınızı bekliyorum.

Dosyayı incelermisin.
 

Ekli dosyalar

İşlemi ters yapıyor sanırım

İlginize teşekkürler fakat benim ihtiyacım olan ID nosu aynı olduğu durumlarda son veri giriş saati olan satırın alınması
1974 ID nolu 11:42 durumu hazırlık tan içeride olarak değiştirilen satırın aktarılmış olması gerekiyor.
 
İlginize teşekkürler fakat benim ihtiyacım olan ID nosu aynı olduğu durumlarda son veri giriş saati olan satırın alınması
1974 ID nolu 11:42 durumu hazırlık tan içeride olarak değiştirilen satırın aktarılmış olması gerekiyor.

Peki sıralamayı tersten yapsam mesela sondan başa doğru yapsam ; ve o zaman en yeni en üstte olucak sıkıntı olurmu?
Kod:
    For y = ActiveCell.Row + 1 To 1 Step -1

kodu bu şekilde değiştirdim , bu şekilde en son halini önce alıcak ve bir önceki işlemlerini almıyacaktır.
Dosyayı incelermisin
 

Ekli dosyalar

İyi günler

Veri giriş saatinin alta gittikçe artması durumunda olur fakat karışık girilmiş ise sorun yaratır.
Bende aşağıdaki kod ile sadece en son veri giriş zamanı olanları aktardım belki sizin gönderdiğiniz ile birleştirsek olabilir. Yinede daha kolay bir yolu olmalı.

Private Sub CommandButton1_Click() ' sayı aktarma ve sıralama
Dim Z, T, ID, tar, temptar, tempID, X
Set syf1 = Sheets("VERİ")
Set syf2 = Sheets("SIRALANMIŞ VERİ")
syf2.Range("A3:D" & syf1.[A65536].End(3).Row).ClearContents
'----------------------- a sutunundaki verileri filtre etmek için
syf1.[A3].Select
syf1.[A65536].End(xlUp).Offset(1, 0).Select


T = 1
For X = 1 To ActiveCell.Row + 1

tempID = syf1.Cells(X, "A").Value
temptar = syf1.Cells(X, "D").Value

For Z = 2 To ActiveCell.Row + 1

ID = syf1.Cells(Z, "A").Value
tar = syf1.Cells(Z, "D").Value

If ID = tempID And tar >= temptar Then

tempID = ID
temptar = tar

End If
Next Z

syf2.Cells(T, "A").Value = tempID
syf2.Cells(T, "D").Value = temptar
T = T + 1
Next X



End Sub
 
İyi günler

Veri giriş saatinin alta gittikçe artması durumunda olur fakat karışık girilmiş ise sorun yaratır.
Bende aşağıdaki kod ile sadece en son veri giriş zamanı olanları aktardım belki sizin gönderdiğiniz ile birleştirsek olabilir. Yinede daha kolay bir yolu olmalı.

Eğer ID numarası önceden varsa şartı içerisine "veri giriş zamanı" kontrolu koyarak; kişinin son hareketini yazdırdım.
Dosyayı incelermisin.

Kod:
'---------------------------------------------------------------
          If Format(syf2.Cells(t, "D").Value, "hh:mm") < Format(syf1.Cells(y, "D").Value, "hh:mm") Then
              syf2.Cells(t, "A").Value = syf1.Cells(y, "A").Valu
              syf2.Cells(t, "B").Value = syf1.Cells(y, "B").Value
              syf2.Cells(t, "C").Value = syf1.Cells(y, "C").Value
              syf2.Cells(t, "D").Value = syf1.Cells(y, "D").Value
          End If
         '-----------------------------------------------------------------
NOT: Msgbox kontrol için konulmuştur, Dosyakullanım esnesında söz konusu satırı siliniz.
 

Ekli dosyalar

Son düzenleme:
Bende teşekkür ederim

Galiba sonuca ulaşabildik.
Bende teşekkür ederim Kolay gelsin.
 
Geri
Üst