• DİKKAT

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

Kapalı Dosyadan Veri Aktarma

Katılım
16 Mayıs 2008
Mesajlar
35
Excel Vers. ve Dili
2019 Türkçe
Arkadaşlar selam ,

kapalı bir excel dosyasından calışma yaptığım bir dosyaya veri aktarımı yapmaya ihtiyacım var. Forumda bazı örnekler buldum fakat istediğim gibi bir örnek bulamadım yada uyarlayamadım

benim data_veri dosyam farklı bir klasörde , calısma_kitabı dosyam farklı bir klasörde aynı klasörlerde değil yani.

konu ile ilgili yardımlarınızı rica ediyorum.
 

Ekli dosyalar

. . .

Kod:
Sub KOD()
    
    
    yol = "C:\Users\Hüseyin\Desktop\deneme\DATA_VERİ.xlsx"
    
    Dim con As Object:  Set con = CreateObject("adodb.connection")
    Dim rs As Object:   Set rs = CreateObject("adodb.recordset")
    
    con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & _
    yol & ";Extended Properties=""Excel 12.0;HDR=Yes"""
   
    sorgu = "select * from [data$A:D]"
    rs.Open sorgu, con, 3, 1
               
    If rs.RecordCount > 0 Then
    Range("A2:D" & Rows.Count).ClearContents
    Range("A2").CopyFromRecordset rs
    End If
    
    rs.Close
    
    
    Set con = Nothing: Set rs = Nothing: sorgu = Empty
End Sub

. . .
 
ilginiz için tşk ederim Emir Hüseyin Çoban .

ancak ;

Sub KOD()


yol = "C:\Users\burak.tunceri\Documents\ÇALIŞMA DOSYASI\BÜTÇE ÇALIŞMA\2016 BÜTÇE\DATA_VERİ.xlsx"

Dim con As Object: Set con = CreateObject("adodb.connection")
Dim rs As Object: Set rs = CreateObject("adodb.recordset")

con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & _
yol & ";Extended Properties=""Excel 12.0;HDR=Yes"""


sorgu = "select * from [data$A:D]"
rs.Open sorgu, con, 3, 1

If rs.RecordCount > 0 Then
Range("A2:D" & Rows.Count).ClearContents
Range("A2").CopyFromRecordset rs
End If

rs.Close


Set con = Nothing: Set rs = Nothing: sorgu = Empty
End Sub


kodun kırmızı ile boyadığım bölümde hata aldım yardımcı olabilirmisiniz
 
. . .

Kullandığınız excel office versiyonu nedir.

. . .
 
. . .

Aldığınız hatanın ekran görüntüsünü yükleyin. İnceleyelim.

. . .
 
Ekte görebilirsiniz Emir Hüseyin bey
 

Ekli dosyalar

  • 1.JPG
    1.JPG
    17.2 KB · Görüntüleme: 6
  • 2.JPG
    2.JPG
    53.4 KB · Görüntüleme: 7
. . .

El yordamıyla bir işlem yapmamız gerekiyor. Kodlardaki 12 kısmını 10 dan başlayıp 16 ya kadar değiştirerek deneyiniz.

Kod:
    con.Open "Provider=Microsoft.Ace.Oledb.[B][COLOR="Red"]12[/COLOR][/B].0;Data Source=" & _
    yol & ";Extended Properties=""Excel [COLOR="Red"][B]12[/B][/COLOR].0;HDR=Yes"""

. . .
 
Maalesef olmadı yanlız 15 yaptığımda hata nın türü değişti.
 

Ekli dosyalar

  • 3.JPG
    3.JPG
    18.7 KB · Görüntüleme: 4
Yol'u yanlış girmiş olmayasınız!
 
yol doğru üstadım.
O zaman her 2 dosyayıda ayni klasöre koyup deneyin.
Ben denedim çalıştı.
Eğer çalışıyorsa yol da hata var demektir.:cool:
Kod:
Sub KOD()
    
    
    [B][COLOR="Red"]yol = ThisWorkbook.Path & "\DATA_VERİ.xlsx"[/COLOR][/B]
    
    Dim con As Object:  Set con = CreateObject("adodb.connection")
    Dim rs As Object:   Set rs = CreateObject("adodb.recordset")
    
    con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & _
    yol & ";Extended Properties=""Excel 12.0;HDR=Yes"""
   
    sorgu = "select * from [data$A:D]"
    rs.Open sorgu, con, 3, 1
               
    If rs.RecordCount > 0 Then
    Range("A2:D" & Rows.Count).ClearContents
    Range("A2").CopyFromRecordset rs
    End If
    
    rs.Close
    
    
    Set con = Nothing: Set rs = Nothing: sorgu = Empty
End Sub
 
üstadım sıkıntım o zaten aynı klasörde olsa çözümleri sitede mevcut
dosyalar farklı klasörlerde olmalı aynı klasörde olmamalı
 
üstadım sıkıntım o zaten aynı klasörde olsa çözümleri sitede mevcut
dosyalar farklı klasörlerde olmalı aynı klasörde olmamalı

Ayni klasörde çalışıyorsa farklı klasörde çalışmıyorsa yol'da hata var demektir.:cool:
 
Aşağıdaki yoldaki stringte nokta var.
Klasörünüzdeki noktayı temizleyip öyle yazıp deneyiniz.:cool:
Kod:
yol = "C:\Users\[B][COLOR="Red"]burak.tunceri[/COLOR][/B]\Documents\ÇALIŞMA DOSYASI\BÜTÇE ÇALIŞMA\2016 BÜTÇE\DATA_VERİ.xlsx"
 
kırmızı ile olan bölümü değiştirme şansım yok bilgisayarın kullanıcı ismi o bölüm ... :(
 
birde ben bunu excel 2010 versiyonu olan başka bir bilgisayarda denedim kod çalıştı ... ancak bu kod 2013 excel de çalışmıyor anladığım kadarıyla
 
Geri
Üst