Kapalı Dosyadan Veri Çekme

Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Değerli arkadaşlar LİSTE ve VERİ AKTARMA isminde 2 adet çalışma kitabım var. VERİ AKTARMA açık LİSTE kapalı dosya olacak. LİSTE isimli sayfa veriler eklendikçe yenilenmektedir. Benim yapmak istediğim LİSTE isimli sayfadaki F sütunundaki verileri VERİ AKTARMA isimli sayfanın A sütununa LİSTENİN H sütunundaki verileri VERİNİN E sütununa LİSTENİN I sütununu VERİNİN F sütununa çekmek istiyorum ve çekilen her verinin karşılığına VERİ AKTARMA sayfasında J sütununda İşten Ayrıldı yazdırmak istiyorum. LİSTE isimli sayfada veriler işlem oldukça eski verilerin devamından itibaren eklenerek yenilenmektedir. Bunun için LİSTE isimli sayfadan veri çekerken önceden çektiğim verileri getirmemesi için bir kontrol mekanizması yapabilir miyiz. Örneğin en son çektiğimiz TC kimlik nosunu bir yere yazdırıp onun üzerinden kontrol yaptırabilir miyiz. Yardımlarınız için şimdiden teşekkürler
 

Ekli dosyalar

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Aşağıdaki kodu kullanabilirsiniz.
Veri aktarma excel'iniz de gereksiz koşullu biçimlendirmeler ve başka biçimlendirmeler yapılmış.
Bundan dolayı dosya biraz ağır çalışıyor. Eklediğim excel üzerinden devam edebilirsiniz.
Kod ile ilgili olarak çalışma kitaplarının başlıkları önemli, değişmemesi gerekiyor.
Size tavsiyem dosyalarınız başlıklarında aynı işlemlere farklı isimler vermemeniz.

C++:
Sub aktar()

son = Cells(Rows.Count, "A").End(3).Row

For i = 2 To son
    deg = deg & Cells(i, "A") & ","
Next i

Set con = VBA.CreateObject("adodb.Connection")

yol = ThisWorkbook.Path & "\" & "LİSTE.xlsx"

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";extended properties=""Excel 12.0;hdr=yes"""

sorgu = "select [T#C#],'','','',[İşten Çıkış Tarihi],[Çıkış Sebebi] ,'','','','İşten Ayrıldı' from[İşten Çıkış Listesi$]" & _
        "where [T#C#] is not null " & IIf(deg = Empty, "", "and [T#C#] not in (" & deg & ")")

Set rs = con.Execute(sorgu)
Range("A" & son + 1).CopyFromRecordset rs

con.Close

End Sub
 

Ekli dosyalar

Son düzenleme:
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Merhaba,

Aşağıdaki kodu kullanabilirsiniz.
Veri aktarma excel'iniz de gereksiz koşullu biçimlendirmeler ve başka biçimlendirmeler yapılmış.
Bundan dolayı dosya biraz ağır çalışıyor. Eklediğim excel üzerinden devam edebilirsiniz.
Kod ile ilgili olarak çalışma kitaplarının başlıkları önemli, değişmemesi gerekiyor.
Size tavsiyem dosyalarınız başlıklarında aynı işlemlere farklı isimler vermemeniz.

C++:
Sub aktar()

son = Cells(Rows.Count, "A").End(3).Row

For i = 2 To son
    deg = deg & Cells(i, "A") & ","
Next i

Set con = VBA.CreateObject("adodb.Connection")

yol = ThisWorkbook.Path & "\" & "LİSTE.xlsx"

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";extended properties=""Excel 12.0;hdr=yes"""

sorgu = "select [T#C#],'','','',[İşten Çıkış Tarihi],[Çıkış Sebebi] ,'','','','İşten Ayrıldı' from[İşten Çıkış Listesi$]" & _
        "where [T#C#] is not null and [T#C#] not in (" & deg & ") "

Set rs = con.Execute(sorgu)
Range("A" & son + 1).CopyFromRecordset rs

con.Close

End Sub
Erdem Bey öncelikle ilginiz için teşekkür ederim. Çalışmanızı indirdim ancak bende çalışmadı. Verileri alamadım. Birde şunu öğrenmek istiyorum LİSTE isimli sayfadan verileri çekebilmek için VERİ AKTARMA sayfasının A sütununa TC kimlik numaralarını yazmam mı gerekiyor eğer öyle ise benim istediğim tam bu değildi yanlış anlaşılmış sanırım.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Dosyalarınız aynı klasörde olmalı.Herhangi birşey yapmanıza gerek yok.Hatanın ekran görüntüsünü ekleyebilir misiniz.
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Dosyalarınız aynı klasörde olmalı.Herhangi birşey yapmanız gerek yok.
Aynı klasörün içinde Erdem Bey çalıştırdığımda şu hatayı alıyorum. Ancak VERİ AKTARMA sayfasının A2 hücresine bir rakam yazdığım zaman verileri çekiyor
 

Ekli dosyalar

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Kodu güncelledim. Tekrar deneyebilir misiniz.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Sn @Erdem_34 Bey,

Dosya bende de çalışmadı aynı klasör içerisinde kodu çalıştırdığımda bir hata vermiyor ama veri de aktarmıyor.
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Kodu güncelledim. Tekrar deneyebilir misiniz.
Sayın erdem guncellediginiz makro çalışıyor teşekkür ederim. Birinci mesajda belirttiğim gibi liste sayfası sürekli güncellenmekte ve yeni veriler eski verilerin altına eklenerek devam etmektedir. Ben yeni veri eklendiği zaman sadece bu listeden yeni eklenen verileri çekmek istiyorum. Bunada bir çözüm bulabilirmiyiz
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Sayın erdem guncellediginiz makro çalışıyor teşekkür ederim. Birinci mesajda belirttiğim gibi liste sayfası sürekli güncellenmekte ve yeni veriler eski verilerin altına eklenerek devam etmektedir. Ben yeni veri eklendiği zaman sadece bu listeden yeni eklenen verileri çekmek istiyorum. Bunada bir çözüm bulabilirmiyiz
Zaten istediğiniz gibi çalışıyor. Farklı çalışan dosyalarınızı görmem gerekiyor.
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Zaten istediğiniz gibi çalışıyor. Farklı çalışan dosyalarınızı görmem gerekiyor.
Erdem bey örneğin LİSTE isimli sayfadaki verileri ben bugün VERİ AKTARMA sayfasına çektim diyelim. Aradan 2 gün geçti ve ilgili birim işten ayrılan yeni personelleri LİSTE isimli klasöre ekleyerek bizimle paylaştı. Ben veri çekeceğim zaman 2 gün önce çektiğim verilerin gelmesini değil yeni eklenen verilerin gelmesini istiyorum. Sizin yazmış olduğunuz makroda her ikiside geliyor.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Yeni eklenenler geliyor zaten. Eskilerin silinmesini mi istiyorsunuz?
 
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Yeni eklenenler geliyor zaten. Eskilerin silinmesini mi istiyorsunuz?
Erdem hocam mesela VERİ AKTARMA sayfasının herhangi bir hücresine en son işten çıkış tarihini yazdırıp daha sonra yeni eklenen verileri çekeceğim zaman bu işten çıkış tarihini kontrol ederek onun altına eklenen yeni tarihli verileri getirtmemiz mümkünmü belki bu şekilde sorun çözülür
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Veri aktarma excel'ine anladığım kadarı ile Liste sayfasındaki verilerin hepsinin mükerrer olmadan gelmesi gerekiyor. Sizin istediğiniz veri aktarma sayfasına gelenler bir daha gelmemesi mi? Bunun için liste sayfasına bir sütun eklenir, veri aktarmaya gidenlerin yanına kod ile "x" konulur. Liste excelinden x olmayanlar getirilir. Hata olması durumunda "x" işaretini kendiniz liste excel'inden silersiniz.Tabi bunun için kodun değişmesi gerekecek.
 
Son düzenleme:
Katılım
1 Ağustos 2019
Mesajlar
839
Excel Vers. ve Dili
Türkçe excel 2016
İngilizce excel 2016
Altın Üyelik Bitiş Tarihi
19-10-2021
Veri aktarma excel'ine anladığım kadarı ile Liste sayfasındaki verilerin hepsinin gelmesi gerekiyor. Sizin istediğiniz veri aktarma sayfasına gelenler bir daha gelmemesi mi? Bunun için liste sayfasına bir sütun eklenir, veri aktarmaya gidenlerin yanına kod ile "x" konulur. Veri aktarma içinde x olmayanlar getirilir. Hata olması durumunda "x" işaretini kendiniz liste excel'inden silersiniz.Tabi bunun için kodun değişmesi gerekecek.
Teşekkürler Erdem bey ilginizden dolayı
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
@Erdem_34 Bey,

Bende veri getirmemesinin sebebi ne olabilir.
Dosyalar aynı klasör içerisinde Masaüstündedir.

 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
@gicimi TC kimlik numaralarını sayfada yazdığınız için gelmiyor. Veri aktarma sayfasında yazan TC'ler Liste sayfasından alınmıyor.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
594
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
@Erdem_34 Bey teşekkür ederim. TC. Kimlik Numarası üzerinden arayıp buluyor diye düşünmüştüm.

Bilgilendirme için teşekkürler.
 
Katılım
2 Eylül 2019
Mesajlar
130
Excel Vers. ve Dili
2010-2013-2017 Eng.
@Erdem_34 Bey eğer Veri Aktarma Dosyanın A sütunlarında Tc kimlik numarası yazılı olsaydı. Kodlarda nasıl bir güncelleme yapılması gerekir.
 

TheNomAd

Altın Üye
Katılım
23 Haziran 2020
Mesajlar
17
Excel Vers. ve Dili
Tr
Altın Üyelik Bitiş Tarihi
24-06-2025
Merhaba
Benim sizden ricam da bu örneğe benzer bir şekilde seçilecek kapalı excel dosyasından verileri alarak termin tarihine göre sıralayacak ve termin tarihindeki aylara göre pivotta eklediğim gibi düzenleyecek.

Yardımlarınızı rica ederim
İyi akşamlar
 

Ekli dosyalar

TheNomAd

Altın Üye
Katılım
23 Haziran 2020
Mesajlar
17
Excel Vers. ve Dili
Tr
Altın Üyelik Bitiş Tarihi
24-06-2025
Merhabalar tekrardan
Üslubum ile ilgili bir sıkıntı mı oldu acaba? Zira olduysa kusuruma bakmayın lütfen. :(
 
Üst