• DİKKAT

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

Dosyadan veri çekme

Katılım
1 Ekim 2018
Mesajlar
54
Excel Vers. ve Dili
10 türkçe
Arkadaşlar merhaba. 2 tane excel dosyam mevcut. Kitap 1 isimli dosyamda her ayın işgünlerini sayfalar olarak isimlendiriyorum. Her sayfada A1 hücresine rakamsal bir veri giriyorum. Kitap 2 isimli dosyamda da A1 hücresine işgünlerine denk gelen tarihleri giriyorum. Yapmak istediğim Kitap 2 dosyasının B1 hücresine A1 deki tarihe göre Kitap 1 dosyasının ilgili sayfasındaki ilgili hücredeki veriyi getirmek. Excel ile böyle bir şey yapmak mümkün müdür? Yardımcı olursanız memnun olurum. İlgilenen arkadaşlarıma şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Merhaba;
Alternatif: Her iki dosyada .xls olursa ve her iki dosyada aynı yerde ise;
Deneyin.
İyi çalışmalar.
 

Ekli dosyalar

Alternatif;

ADO çözümü;

Sonuç alabilmek için KİTAP 1 isimli dosyanızı xlsx uzantılı kaydetmek zorunda kaldım. Diğer haliyle hata verdi.

C++:
Option Explicit

Sub Veri_Al()
    Dim Baglanti As Object, Kayit_Seti As Object, Sorgu As String
    
    Set Baglanti = CreateObject("AdoDB.Connection")
    Set Kayit_Seti = CreateObject("AdoDB.Recordset")
    
    If Val(Application.Version) < 12 Then
        Baglanti.Open "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & _
        ThisWorkbook.Path & "\KİTAP 1.xls" & ";Extended Properties=""Excel 8.0;Hdr=No"""
    Else
        Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
        ThisWorkbook.Path & "\KİTAP 1.xlsx" & ";Extended Properties=""Excel 12.0;Hdr=No"""
    End If
    
    Sorgu = "Select * From [" & Range("A1").Text & "$A1:A1]"

    On Error Resume Next
    Kayit_Seti.Open Sorgu, Baglanti, 1, 1
    On Error GoTo 0
    
    Range("B1").ClearContents
    
    If Kayit_Seti.State = 0 Then
        MsgBox "Veri bulunamadı!", vbExclamation
    Else
        If Kayit_Seti.RecordCount > 0 Then
            Range("B1").CopyFromRecordset Kayit_Seti
        End If
    End If
    
    If Kayit_Seti.State <> 0 Then Kayit_Seti.Close
    If Baglanti.State <> 0 Then Baglanti.Close
  
    Set Kayit_Seti = Nothing
    Set Baglanti = Nothing
End Sub
 
Arkadaşlar ilginiz için teşekkür ederim. Emeğinize sağlık..
 
Geri
Üst