• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan hopeful
  • Başlangıç tarihi Başlangıç tarihi
Katılım
4 Ağustos 2006
Mesajlar
134
Excel Vers. ve Dili
2017 Eng
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
 
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
 
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.
 
Kodu deneyerek yazdım hata vermez, kopyalamayı eksik yapmış olabilirsiniz tekrar inceleyin.
 
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'.
 
Sn leventm bende'de aynı hatayı verdi, eklememiz gereken bir referans mı var?
 
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:
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.
 
Peki bunun tam tersi olabilir mi?
Yani açık olan sayfanızin A dan H e kadar kolonları Kapalı dosya sayfasına eklemek?
 
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.
 
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.
 
Geri
Üst