Kapalı haldeki dosyadan sadece "A:H" kolonlarının çekilmesi

Katılım
4 Ağustos 2006
Mesajlar
135
Excel Vers. ve Dili
2017 Eng
Altın Üyelik Bitiş Tarihi
28/04/2018
Merhaba

Kapalı halde bulunan c:\datalar\veri1.xls dosyasının sheet1 sayfasındaki A dan H ye kadar kolonların (A:H) çekilmesinin kodunu yazabilir misiniz?

eğer veri dosyalarına yenileri eklenecekse yani;
c:\datalar\veri1.xls
c:\datalar\veri2.xls
c:\datalar\veri3.xls ...Her bir veri dosyası için aynı işlemi yapıp farklı kaydetmemi sağlayabilecek şekilde kodu geliştirebilir misiniz?

yardımlarınızı rica ederim

saygılar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin. Kod her dosyadaki verileri altalta bir sayfaya aktaracaktır.

Kod:
Sub verial()
For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\data").Files
Set baglanti = CreateObject("ADODB.Connection")
yol = "DRIVER={Microsoft Excel Driver (*.xls)};" & "DBQ=C:\data\" & dosya.Name
baglanti.Open yol
Set rs = baglanti.Execute("[Sheet1$a1:h65536]")
sat = WorksheetFunction.CountA([a:a]) + 1
Cells(sat, "a").CopyFromRecordset rs
rs.Close
baglanti.Close
Next
End Sub
 
Katılım
4 Ağustos 2006
Mesajlar
135
Excel Vers. ve Dili
2017 Eng
Altın Üyelik Bitiş Tarihi
28/04/2018
Aşağıdaki kodu deneyin. Kod her dosyadaki verileri altalta bir sayfaya aktaracaktır.

Kod:
Sub verial()
For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\data").Files
Set baglanti = CreateObject("ADODB.Connection")
yol = "DRIVER={Microsoft Excel Driver (*.xls)};" & "DBQ=C:\data\" & dosya.Name
baglanti.Open yol
Set rs = baglanti.Execute("[Sheet1$a1:h65536]")
sat = WorksheetFunction.CountA([a:a]) + 1
Cells(sat, "a").CopyFromRecordset rs
rs.Close
baglanti.Close
Next
End Sub
"For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\data").Files" satırında Compile eror syntax eror hatası veriyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu deneyerek yazdım hata vermez, kopyalamayı eksik yapmış olabilirsiniz tekrar inceleyin.
 
Katılım
4 Ağustos 2006
Mesajlar
135
Excel Vers. ve Dili
2017 Eng
Altın Üyelik Bitiş Tarihi
28/04/2018
Kodu deneyerek yazdım hata vermez, kopyalamayı eksik yapmış olabilirsiniz tekrar inceleyin.
Run time error hatası veriyor.

Run-time error '-21447217900(80040e14)':
[Microsoft][ODBC Excel Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
 

kpolat

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
20
Excel Vers. ve Dili
(excel-2007 Türkçe)
Altın Üyelik Bitiş Tarihi
05-01-2027
Sn leventm bende'de aynı hatayı verdi, eklememiz gereken bir referans mı var?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,434
Excel Vers. ve Dili
Ofis 365 Türkçe
Bende de hata verdi ama, aşağıda belirttiğim dosyadaki sayfa adının sheet1 olması durumunda Levent Bey'in kodları çalışıyor.

Kod:
Set rs = baglanti.Execute("[[COLOR=red][B]Sheet1[/B][/COLOR]$a1:h65536]")
Denememde bende de 1. satırı kopyalamadı
 
Son düzenleme:
Katılım
16 Şubat 2007
Mesajlar
17
Excel Vers. ve Dili
2003 vb
Bu satıda belirli bir aralık değilde sadece tek bir hücre seçmek için satırı ne şekilde yazmalıyım;mesela a1 hücresini.
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
Peki bunun tam tersi olabilir mi?
Yani açık olan sayfanızin A dan H e kadar kolonları Kapalı dosya sayfasına eklemek?
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
Arkadaşlar bu önemli bir konu. Yardımcı olursanız sevinirim.
Kapalı dosyaya veri kaydı yapabiliyoruz. Ancak 2000 satırlık dosyanın sadece belirli kolonlarının aktarılması mümkünmü bilmiyorum.
Örn: Açık olan kitaptaki A - H kolonları arasını kapalı dosya A1 hücresinden itibaren aktarabilirmiyiz.
 

Hakan ERDOST

Destek Ekibi
Destek Ekibi
Katılım
12 Eylül 2004
Mesajlar
871
Excel Vers. ve Dili
Excel 2019 Türkçe (Ev)
Excel 2013 Türkçe (Okul)
Bu kod ile verileri alt alta değilde yan yana nasıl alabiliriz.şöyleki alacağımız veriler d5:d18 aralığında iken bu verileri h5:h18 aralığından başlayarak yani sütunlara yan yana nasaıl aktarabiliriz.
 
Üst