Kapalı Dosyalardan veri almak yada göndermek

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Merhaba üstadlar
Ekteki dosyamın aynı formatında 5 ayrı dosya var. Bu dosyalardan aynı anda veya tektek Ekteki dosyanın gerekirse A1 ve A2 satırı silinebilir. Ancak A3 satırının düzenini ve içeriğini değiştirmeden veri çekebilir miyiz? Her dosyadan ayrı ayrı veri çekeceksekte bu sayfada veriler alt alta birleşmeli sonra çektiğim veri ilk çektiğimi silmemeli. (Şayet her veri çektiğimde farklı kaydet demeden kaydedersem kayıttan sonra çekilecek veri öncekini silebilir.) Burada bir hocamın tam bu konu ile alakalı çok güzel bir çalışması var ama revize edemedim. Birinde Satır sabit kalmıyor birinde 1 sayfa alınıyor 2. sayfa ilk sayfayı siliyor. 5 çalışma kitabının SED ALANLAR sayfasını tek sayfaya çekmek istiyorum. Mümkünse diğer sayfalarda aynı adlarının altına toplanabilir ama önemli olan ilk sayfa. Makro lu olur formüllü olur ADO yada DAO hangisi olursa bu sitede 100 den fazla çalışma indirdim ama uyarlayamadım.
şimdiden çok teşekkürler.
 

Ekli dosyalar

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Üstadlarım MUYGUN hocam bir od gönderdi ve çok güzel çalışıyor. Kod çalışma kitaplarında ki 1. sayfaları başka bir çalışma kitabında bir araya getiriyor. Kitaplar kapalı iken veri çekerek yukarıdaki açıklamamda belirttiğim gibi de ilk 3 satırı yada kaç satır isteniyorsa o kadarını değiştirmeden onların altına topluyor. Bu çalışma bana yetiyor ancak idare istiyor ki (sanki bu işi çok biliyormuşum gibi çok özür) kitaplardaki bütün sayfalardaki veriler kendi sayfalarında alt alta toplansın. Uzun bir açıklama yazmak istemem ancak gerçekten bu iş beni yordu çok formül denedim çok çalışma indirdim istediğim şekil bir çalışma bulamadım ve uyarlayamadım. Neden bu kadar önemli aşağıdaki eklerde de göreceğiniz üzere format tek ancak bu konuda veri işleyen 4 arkadaş var kimsede maalesef hatasını kabullenmiyor o nedenle herkes kendi listesini tutacak lazım olduğunda idare listeyi çekecek hatalı giriş kiminse sorumlusu da o olacak bu nedenle çok önemli.
özetle eklerdeki dosyalarda bulunan verileri dosyalar açıkken veya kapalı iken örnek dosyasının ilgili sayfalarına veri çekecek şekilde bir makroya ihtiyaç var yardımcı olmanız dileğiyle.
bu kod Muygun hocamın emeğine sağlık çok güzel bir çalışma Halit Bey' in Haluk Bey' in Korhan hocamın ve daha birçoğunuzun çalışmalarını indirdim çok güzel ve muhteşem çalışmalar denedim ama kendime göre revize edemedim. yani balık tutmayı maalesef bilmiyorum :)

Sub dosyaları_birlestir()
On Error Resume Next
Dim fso As Object, f As Object, dosya As String, fls As Object
Dim sonsat1 As Long, sonsat2 As Long, sh As Worksheet, liste()
Set fso = CreateObject("Scripting.FileSystemObject")
yoll = ThisWorkbook.Path & "\kapalı\"
alınacak_sütun_sayısı = 5
Set f = fso.getfolder(yoll).Files
ThisWorkbook.Activate
ThisWorkbook.Sheets("alınan").Select
Application.ScreenUpdating = False
For Each fls In f
If fso.GetExtensionName(fls) = "xlsx" Then
If Workbooks.Open(fls).ReadOnly = True Then Workbooks(fls.Name).Close False
For Each sh In Workbooks(fls.Name).Worksheets
Set sayfaadı = Workbooks(fls.Name).Worksheets
If Worksheets(1).Name = sh.Name Then '(eğerkapalı dosyadaki ilksayfa = alınan sayfaya) belirli sayfa için ilave
sonsat1 = sh.Cells(65536, "A").End(xlUp).Row
If sonsat1 >= 2 Then
liste = sh.Range("A2:ıv" & sonsat1).Value
sonsat2 = ThisWorkbook.Sheets("alınan").Cells(65536, "A").End(xlUp).Row + 1
ThisWorkbook.Sheets("alınan").Range("A" & sonsat2).Resize(UBound(liste), alınacak_sütun_sayısı) = liste
Erase liste
End If
End If 'belirli sayfa için ilave
Next sh
Workbooks(fls.Name).Close False
End If
Next fls
ThisWorkbook.Activate
ThisWorkbook.Sheets("alınan").Select
Application.ScreenUpdating = True
MsgBox " klasördeki dosyaların Sheet1 sayfa verileri Alındı." & vbLf & _
"muygun", vbOKOnly + vbInformation, "Exceli sevmeyen nezle olsun"
Cells(1, "k") = fls
Cells(2, "k") = sh

End Sub

Sub sayfayı_temizle()
Range("A2:ıv65536").ClearContents
End Sub
 

Ekli dosyalar

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba
Yanlış anlamadıysam
Aktarılacak dosyalar ayrı bir klasöre koyup
deneyebilirmisiniz.Belki bir fikir verebilir
Bütün dosyalardaki sayfa isimleriri v.s. aynı ve aynı formatta olmalıdır
 

Ekli dosyalar

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba
Kodlar revize edilidi
Sayfa isimlerine(boşlukbüyük küçük harf v.s.) dikkat edersen iyi olur Örneğindeki sayfa isimleri kodlarda kullanıldı
 

Ekli dosyalar

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Merhaba
Kodlar revize edilidi
Sayfa isimlerine(boşlukbüyük küçük harf v.s.) dikkat edersen iyi olur Örneğindeki sayfa isimleri kodlarda kullanıldı
Numan hocam çok doğru anlamışsınız çok güzel ve tam arzu ettiğim gibi kodlarda çalışıyor ama ek resimdeki hatayı veriyor ve SED LİSTE GÖZDE deki verilerin hepsini almıyor sanırım o hata ile alakalı. Şuan kullandığım işletim sistemi win7 64 bit oficce programımsa 2010 örnek dosyaları kurumda hazırlamıştım win10 64 bit işletim sistemi ve 2016 office idi. bunlarla alakalı bir durumda olabilir. ancak yarın teyit edebilirim. resmi yüklüyorum. bu arada örnek dosya1 de hiç açılmıyor kaynak bulunamadı diyor. örnek dosya 12 de resimdeki hatayı veriyor. indirdiğim örnek dosya 12 de de aktarılan veriler üzerinde eksik gelmişti.
 

Ekli dosyalar

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Numan Hocam Set SAYFA1 = Kaynak_Dosya.Sheets("SEDALANLAR") buradaki SEDALANLAR ayrı SED ALANLAR olarak yazıldığı için örnek dosya 1 açmıyormuş düzelttim örnek dosya12 de ki hatanın aynısını veriyor
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Application.CutCopyMode = False


Kaynak_Dosya.Close True


Next
hocam bu kısımdaki Kaynak_Dosya.Close True sildim tüm yukarıdaki hatayı vermedi listeyi yine eksik şekilde çekti sonra dosya bulunamadı dedi :)
 
Son düzenleme:

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Numan Hocam çok teşekkür ediyorum Hata yok eksik yok Allah Razı olsun çok büyük dertten kurtardın beni.. Yukarıda resim eklediğim hatanın sebebi (Aktarılacak dosyalar ayrı bir klasöre koyup ) bu uyarınızı gözardı etmişim. Listeyi eksik almasının sebebi GÖZDE isimli çalışma kitabında verilerden sonra boşluk varmış sonra yine veri varmış bu nedenle eksik alıyormuş.
Allah Razı olsun Hayırlı günler diliyorum
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Güncellenmiş halini ekliyorum
(kodlarda ufak eklentiler yapıldı)
Orjinal dosyandaki sayfa isinleri ile kodlardaki sayfa isimlerin birebir aynı oldmasına dikkat edersiniz.
Hayırlı günler.İyi çalışmalar
 

Ekli dosyalar

Son düzenleme:

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Numan Hocam son birşey eklemek mümkün mü bu koda? Kod bilgisayar' ın C ve D sürücüsünde farklı konumlarda da olsa çalışıyor. Veri alınacak Dosyalar ağ üzerinde başka bilgisayarda yine hepsi bir klasörde farklı farklı klasörlerde değiller. A bilgisayarında veri alınacak dosyaları SED klasörüne kaydettim klasörü paylaşıma aldım B bilgisayarına da kodlu çalışmayı yükledim. A bilgisayarından veriler çektirebilir mi?
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Mükemmel olmuş hocam şimdi indirdim test ettim çok teşekkür ediyorum. Eğer yukarıda ki problemin de çözümü var mı son olarak?
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba
Paylaşıma açtığnız klasörü seçip(manuel dosyaya nasıl ulaşıyorsanız aynı yolu takip ederek) verileri alabilirsiniz
Yalnız Başka birisi söz konusu exceli açtığında dosya açıkken siz veri almak isterseniz hata verir
Böyle bir durum söz konusu ise dosyayı açmadan verileri alacak kodlar gerekir
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam örnek dosya da AKTAR ı tıkladığımda klasör seçeceğim ekran açıldığında ağ yada kısayol klasörleri/dosyaları hiç görünmüyor sadece hangi pc' de işlem yapılıyorsa o bilgisayarın klasörlerini seçebiliyorum. Örneğin masaüstünü seçtim açılan ekranda masaüstündeki kısayolları da göstermiyor sadece asıl klasörleri görebiliyorum. Dolayısıyla A bilgisayarında örnek dosya aktar sayfasında AKTAR' ı tıkladığımda ağı göremediğim için B bilgisayarını göremiyorum. Varsa bir yolu bahtiyar olurum. Hayırlı geceler diliyorum Allah Razı Olsun..
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
benim bilgisayarda denedim görünüyor maa üstünü seçmeden baka bilirmisin açılan pencereyi biraz büyüt bak görünmesi gerekiyor
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam bunun cevabını şöyle vereyim bu evimdeki bilgisayar ve size iki resim atıyorum. biri adres satırı diğeri adres satırı yok ismiyle. Evde sizin kodlardan AĞ ı görebiliyorum ancak kurumda merkezden bazı kısıtlamalar olduğu için AĞ bağlantısı simgesini masaüstüne getiremiyoruz ve ona müdahele edemiyoruz. bizde bu sorunu adres satırı yazan resimdeki gibi bağlanmak istediğimiz bilgisayarın ismini oraya yazarak aşıyoruz. örneğin \\AB055-0416\paylaşılan klasör adı\ gibi sizin kodlarda o adres satırı yok o yüzden yazamıyorum. direk masaüstünden seçmemizde maalesef engelli adres satırını ekleme durumunuz varsa ziyadesiyle yeter. bu şekilde de zaten beni çok rahatlattınız teşekkürlerimi sunuyorum
 

Ekli dosyalar

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba
Ekli dosyadaki kodlarda kırmızı yerlere veri çekilecek dosya yolunu eksiksiz tam olarak yazınız
con.Open "provider=microsoft.ace.oledb.12.0;data source("\\AB055-0416\paylaşılan klasör adı \SED LİSTE GÖZDE.xlsx;extended properties=""excel 12.0;iif(hdr,yes,no)"""

con.Open "provider=microsoft.ace.oledb.12.0;data source("\\AB055-0416\paylaşılan klasör adı \SED LİSTE ELİF.xlsx;extended properties=""excel 12.0;iif(hdr,yes,no)"""


Paylaşılan klasördeki dosya iki tane ve adları "SED LİSTE GÖZDE" "SED LİSTE ELİF" olmasına dikkat ediniz
Not: aktar sayfası "B1" hücresinde "EVET" seçerseniz ağ yolunu kullanır
"HAYIR" seçerseniz eskisi gibi çalışır
bu konuda çok bilgim yok umarım çalışır
 

Ekli dosyalar

Son düzenleme:

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba Başka bir altarnatif
Aktar sayfasının d1 hücresine veri çekilecek yolu yazıp deneyiniz
Not: D1 hücresine " " işaretsiz giriniz
Burda dosyayı açıp verileri çeker kapatır
16. mesajımdaki dosyada ise dosyayı açmadan ADO ile verileri çeker
 

Ekli dosyalar

Son düzenleme:

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam izindeyim pazartesi iş başı yapacağım emeğinize sağlık ilginize çok teşekkür ediyorum. pazartesi işyerinde ancak test edebilirim ama şüphem yokki yapmışsınızdır.
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba Mesaj 16 daki ekli dosyada
Verial1 ve Verial2 kodlarına ilgili yere paylaşılan doya yolunu 16. meajda belirttiğim gibi yazın ve uyarıları dikkate alıp deneyersiniz bu dosyayı açmadan
verileri çekecektir.Burda dikkat edilecek nokta Paylaşılan klasördeki dosya iki tane ve adları "SED LİSTE GÖZDE" "SED LİSTE ELİF" olmasıdır
Mesaj 17 de ise paylaşılan klasörde kaç dosya ve isme bakmaksızın verileri çeker sadece hepsinde aynı sayfaisimleri olması ve aynı formatta olması gerekiyorBu kodlar dosyayı açıp verileri çektiği için bazı sorunlarla karşılaşabilirsiniz kopyasını kaydetsinmi gibi uyarılar çıkarsa evet diyerek deneyiniz
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
348
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Numan Hocam çok teşekkürler İnşallah pazartesi günü uygulayacağım listeye ve inşallah bir sorunda çıkmayacak. önceki uyarladığınız dosyalar çok güzel şekilde çalışıyor ve çok büyük bir yükten kurtardınız beni. Şu ana kadar gönderdiğiniz daha önceki uygulamayı kendi makineme kurdum her aksam işten çıkmadan veri al diyerek atıyorum A dosyası üzerine yeniden kaydediyordum A dosyasını da paylaşıma almıştım idare veya ilgili kişiler en son kaydettiğim verileri güncel kabul ediyorlardı. bu yapmış olduğun çalışma ile anlık alabilecekler. Hocam tekrar tekrar Allah (cc) Razı olsun...
 
Üst