Personel Takıp Islemi

Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Merhaba,

Personel takibi için ekteki gibi bir dosyam mevcut.
Istediğim şey sheet1 deki verileri sheet2 de yer alan yerlerine kısa yoldan yerleştirebilmek.

Yardımcı olabilirseniz çok sevinirim.

Teşekkürler.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

1.Sheet2 de her personel tek bir satırda mı?
2. Aktarım yaptıktan sonra Sheet1 deki veriler silinecek mi?
3. Statuslerde sadece abnormal olanlar mı aktarılacak? çünkü onları renklendirmişsiniz.

Bu sorulara yanıt verin, yardımcı olacak arkadaşlar kesin olur.
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Merhaba,

1.Sheet2 de her personel tek bir satırda mı?
2. Aktarım yaptıktan sonra Sheet1 deki veriler silinecek mi?
3. Statuslerde sadece abnormal olanlar mı aktarılacak? çünkü onları renklendirmişsiniz.

Bu sorulara yanıt verin, yardımcı olacak arkadaşlar kesin olur.
Merhaba,

1- Sheet2 de her personel tek bir satirda olacak.
2- aktarim yaptiktan sonra veriler silinmeyecek.
3- her ikisi de olacak.

Tesekkurler.
 
Katılım
5 Haziran 2018
Mesajlar
85
Altın Üyelik Bitiş Tarihi
05/06/2023
bunun formülünü merak ediyorum ilk aklıma gelen = yapıp sayfa 1 deki ilgili satırı seçme şeklinde ama uğraştırır
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
bunun formülünü merak ediyorum ilk aklıma gelen = yapıp sayfa 1 deki ilgili satırı seçme şeklinde ama uğraştırır
Evet o sekilde bayagi bir ugrastirir bir de sheet1 de ayni kisiye ait birden fazla veri oldugu icin ilgili veriyi yerine uygun sekilde koyacak bir formul yazilmasi gerekli.

Sheet1 deki isim ve id kismina pivot cekerek isim ve id leri suzebilirim ve elle sheet2 ye ekleyebilirim fakat bundan sonrasi icin uygun bir algoritma kafamda canlandiramiyorum. Bakalim nasil sonuclar cikacak.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları bir modüle kopyalayıp deneyiniz.

Aktarılan kayıtlar Sheet1 de I sütununa x konuyor. İkinci, Üçünkü aktarımlarda bu satırlar aktarılmaz.

Sil değişkeni True olduğunda Sheet1 deki veriler silinir, aksi takdirde silinmez.

Kod:
Sub Aktar()

    Dim S1  As Worksheet, _
        S2  As Worksheet, _
        c   As Range, _
        d   As Range, _
        i   As Long, _
        Tar As Date, _
        Kol As Integer, _
        Sat As Long, _
        Sil As Boolean
    
    Sil = False     'Aktarım yapıldıktan sonra Sheet1'deki
                    'verilerin Silinmesini İstiyorsanız Değeri TRUE Yapın
    
    Set S1 = Sheets("Sheet1")
    Set S2 = Sheets("Sheet2")
    
    For i = 2 To S1.Cells(Rows.Count, "A").End(3).Row
        If S1.Cells(i, "I") = "" Then
            Tar = DateSerial(Left(S1.Cells(i, "C"), 4), Mid(S1.Cells(i, "C"), 6, 2), Right(S1.Cells(i, "C"), 2))
            Kol = 0
            Set c = S2.Range("1:1").Find(Tar, LookIn:=xlValues)
            If Not c Is Nothing Then
                Kol = c.Column
            Else
                MsgBox "Sheet2 de " & Tar & " Tarihi bulamadım"
            End If
            
            Set c = Nothing
            
            If Not Kol = 0 Then
                Set d = S2.Range("A:A").Find(S1.Cells(i, "A"), LookAt:=xlWhole)
                If Not d Is Nothing Then
                    Sat = d.Row
                Else
                    Sat = S2.Cells(Rows.Count, "A").End(3).Row + 1
                    S2.Cells(Sat, "A") = S1.Cells(i, "A")
                    S2.Cells(Sat, "B") = S1.Cells(i, "B")
                End If
                
                S2.Cells(Sat, Kol) = S1.Cells(i, "E")
                S2.Cells(Sat, Kol + 1) = S1.Cells(i, "G")
                S1.Cells(i, "I") = "X"
            
                Set d = Nothing
            Else
                S1.Cells(i, "I") = "Tarih Hatası"
            End If
        End If
        
    Next i
    
    If Sil = True Then
        Sat = S1.Cells(Rows.Count, "A").End(3).Row
        If Sat < 2 Then Sat = 2
        S1.Range("A2:I" & Sat).ClearContents
    End If
    
    MsgBox "Aktarım Tamamlanmıştır....", vbInformation, "www.excel.web.tr'den Necdet"
    
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Durum nedir? oldu muuu olmadı mı?
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Necdet hocam , uzunca bir sure giris yapamadim foruma. Bugun denedim ve oldu, cok tesekkur ediyorum desteginiz icin.

Uzerine ben de birseyler katmaya calisacagim.
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Merhaba, konuyla ilgili ufak bir sorum daha olacak.
Sheet1 deki verileri cekerken `check-in date` yazili kisim yazi formatinda , baska bir tabloya entegre etmeye calistigimda type mismatch hatasi aliyorum.
Yeni tablomdaki `check-in date` kismi tarih formatinda secili , makroda ne tur bir degisiklik yapmam gerekli ?

Tesekkurler.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Hiç bir şey anlamadım. Başka bir tabloya entegre ederken nasıl olması gerekiyor? Yeterli açıklama yok.
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Merhaba,
Eklediğim Excel tablosu uzerinden gidersem eger , check in date sütununun formati text degil de date olarak secili.
Test 2 Excelinde check in sutununa tarih formatinda ekleme yaptim gormeniz icin.
 

Ekli dosyalar

Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,438
Excel Vers. ve Dili
Ofis 365 Türkçe
Ben hâlââ bir şey anlamadım.
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Ekledigim Test 2 excelinde yazdıgınız makroyu deneyebılırsenız sanırım anlayacaksınız :)
Aldigim hatanin ekran goruntusunu de paylasiyorum.
 

Ekli dosyalar

Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Merhaba, Sorunu cozdum. C sutununda ki verileri text ile yyyy-aa-gg sekline cevirdigimde sorun duzeldi.
 
Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Herkese tekrar selamlar,

Tabloya yeni bir sheet daha ekledim(Sheet3). Istedigim ayni makroyu Sheet 3 de de kullanabilmek.

Fakat sheet3 de izin araliklarini girdim ve istedigim personelin hangi tarih araliginda izinli oldugunu gorerek Sheet2 ye yazmasi.

Ornegin 2 numarali personel 6. ayin 1-4 arasinda izinli. Sheet2 de bu tarih araligini bularak her bir tarihin altinda ki in-out bolumlerine Annual Leave yazdirmak istiyorum.

Yardimlariniz icin simdiden tesekkurler :)
 

Ekli dosyalar

Katılım
25 Mayıs 2017
Mesajlar
15
Excel Vers. ve Dili
2013 Ingilizce
Altın Üyelik Bitiş Tarihi
25.05.2022
Hala guncel :)
 
Üst