Kapalı dosyadan veri çağırma sorunu

Katılım
15 Ekim 2007
Mesajlar
84
Excel Vers. ve Dili
2003
türkçe
Merhaba,
Forumda bulduğum kapalı dosyadan veri çağırma örneğini kendime göre uyarladım, fakat bazı sütünlardaki verileri çağıramıyorum yani veriler gelmiyor. Sütün bilgileri boş çıkıyor. Sebebi ne olabilir? Ekli dosyayı incelediğinizde daha iyi anlayacaksınız, Yardımınızı rica ediyorum.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Kodlarınızı aşağıdaki şekilde değiştiriniz.

Kod:
Dim NewSh
Const SourceFile As String = "C:\test\Test.xls"
Const SourceSheet As String = "Sheet1"
Const SourceRange As String = "a1:z10000"
 
Sub deneme()
    Call GetDataFromClosedWorkbook(SourceFile, SourceRange)
End Sub
 
Private Sub GetDataFromClosedWorkbook(SourceFile As String, SourceRange As String)
    Dim dbConnection As Object, rs As Object
    Dim dbConnectionString As String
    Set dbConnection = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.recordset")
    Dim TargetCell As Range, i As Integer
    dbConnectionString = "DRIVER={Microsoft Excel Driver (*.xls)};" & _
                         "ReadOnly=1;DBQ=" & SourceFile
    dbConnection.Open dbConnectionString
    Set rs[B][COLOR=blue]t[/COLOR][/B] = dbConnection.Execute("[" & SourceSheet & "$" & SourceRange & "]")
    Set TargetCell = Sayfa3.Cells(1, 1)
    TargetCell.CopyFromRecordset rs[COLOR=blue][B]t[/B][/COLOR]
    rs[B][COLOR=blue]t[/COLOR][/B].Close
    dbConnection.Close
    Set TargetCell = Nothing
    Set rs[B][COLOR=blue]t[/COLOR][/B] = Nothing
    Set dbConnection = Nothing
    On Error GoTo 0
    Exit Sub
End Sub
 
Katılım
15 Ekim 2007
Mesajlar
84
Excel Vers. ve Dili
2003
türkçe
Sayın Ripek,
Verdiğiniz kodları denedim fakat olmadı,
G,H,I,J,K,L, ve M sütünlarındaki değerler boş olarak geliyor.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Peki Test dosyasında başlıklar hariç ilk 8 satırı silerek deneyebilirmisiniz?.
 
Katılım
15 Ekim 2007
Mesajlar
84
Excel Vers. ve Dili
2003
türkçe
Sayın Ripek,
Şimdi oldu ilginize teşekkür ederim. Peki Neden silmemiz gerekti?
Açıklaya bilirmisiniz?
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
ADO kapalı dosyadan veri alırken ilk satırı başlık olarak kabul eder.
Dolayısıyla buralarda bilgi olmadığı için eksik bilgi alıyordu.
 
Katılım
15 Ekim 2007
Mesajlar
84
Excel Vers. ve Dili
2003
türkçe
Sayın Ripek,
İlgi ve bilgi paylaşımınıza çok teşekkür ederim.
Kapalı dosyadaki sourcerange aralığını
Const SourceRange As String = "a9:z10000" şeklinde değiştirince text dosyasından ilk 8 satırı silmeye gerek kalmadı:))
Sanırım bu örnek bir çok arkadaşın işine yarayacaktır.
Çok teşekkürler
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Tabiiki bu daha uygun oldu.
 
Üst