• DİKKAT

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

Kapalı Dosyadan Veri Alma

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,902
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Merhaba Arkadaşlar,
Kapalı Dosyadan Veri Alma konusunda elimdeki örneği dosyama uyarlayamadım. Yardımcı olursanız sevinirim. Su_Alacak.xlsm dosyası değerleri Su_2024_07.xlsx dosyasından alacak.
Saygılarımla
 

Ekli dosyalar

Merhaba Arkadaşlar,
Kapalı Dosyadan Veri Alma konusunda elimdeki örneği dosyama uyarlayamadım. Yardımcı olursanız sevinirim. Su_Alacak.xlsm dosyası değerleri Su_2024_07.xlsx dosyasından alacak.
Saygılarımla

dosya adında ".xlsx" uzantısı 2 defa yazılı , dosya adını düzeltip tekrar denerseniz olacaktır.
 

Ekli dosyalar

  • 45181282.jpg
    45181282.jpg
    6.3 KB · Görüntüleme: 1
Sayın Tamer42 Hocam,
Söylediğiniz gözümden kaçmış, düzelttim. Resimlerdeki hata geldi.
Saygılarımla
 

Ekli dosyalar

  • Dos2.png
    Dos2.png
    19.2 KB · Görüntüleme: 7
  • Dos1.png
    Dos1.png
    185.7 KB · Görüntüleme: 7
Sayın Tamer42 Hocam,
Söylediğiniz gözümden kaçmış, düzelttim. Resimlerdeki hata geldi.
Saygılarımla

Tutar nümerik bir ifade olduğundan , sorgu değerinin önünde ve arkasında tek tırnak işareti olmaması gerekir.
aşağıdaki şeklide düzenleyebilirsiniz.
Kod:
 WHERE Tutar=Range("F1").Value OR Tutar=Range("F2").Value
 
Sayın Tamer42 Hocam,
O satırı değiştirdiğimde resimlerdeki hata geldi.
Saygılarımla
 

Ekli dosyalar

  • Dos4.png
    Dos4.png
    17.8 KB · Görüntüleme: 1
  • Dos3.png
    Dos3.png
    23.2 KB · Görüntüleme: 1
Sayın Tamer42 Hocam,
O satırı değiştirdiğimde resimlerdeki hata geldi.
Saygılarımla

sorguyu bu şekilde düzenleyin
Kod:
   Set Kayit_Seti = Baglanti.Execute("Select [TUTAR] From [Sayfa$] " & _
                        "WHERE Tutar=" & Range("F1").Value & " OR Tutar=" & Range("F2").Value)
 
Sayın Tamer42 Hocam,
O satırı değiştirdiğimde resimlerdeki hata geldi.
Saygılarımla
 

Ekli dosyalar

  • Dos5.png
    Dos5.png
    29.2 KB · Görüntüleme: 2
  • Dos6.png
    Dos6.png
    9 KB · Görüntüleme: 2
Sayın Tamer42 Hocam,
O satırı değiştirdiğimde resimlerdeki hata geldi.
Saygılarımla
 

Ekli dosyalar

  • Dos8.png
    Dos8.png
    14.8 KB · Görüntüleme: 4
  • Dos7.png
    Dos7.png
    10.6 KB · Görüntüleme: 4
Sayın Tamer42 Hocam,
Örnek dosya ilk mesajda zaten. Siz dosyada denediniz de ben mi yapamıyorum?
Saygılarımla
 
Son düzenleme:
Sayın Tamer42 Hocam,
Buyrun, Su_2024_07.xlsx dosyasındaki F2 den itibaren olan değerleri Su_Alacak.xlsm dosyasına F7 den itibaren alacağız.
Saygılarımla
 

Ekli dosyalar

  • Dos1.png
    Dos1.png
    69.9 KB · Görüntüleme: 6
  • Dos2.png
    Dos2.png
    74.5 KB · Görüntüleme: 6
@Tevfik_Kursun ,

Su_Alacak.xlsm isimli dosyada sorgu satırında WHERE bölümünde kullandığınız F1 ve F2 hücrelerinde veri olmadığı için hata alıyorsunuz..

Tam olarak hangi kritere göre neyi nereye aktarmak istediğinizi belirtirseniz cevap almanız kolaylaşacaktır.
 
Sayın Korhan Ayhan Hocam,
Nerede hata var bir türlü bulamadım. Sizin bir çalışmanızdan uyarlamaya çalışmıştım.
Saygılarımla
 

Ekli dosyalar

Sayın Korhan Ayhan Hocam,
Geciktim kusura bakmayın, lütfen. İlginize çok teşekkür ederim.
Su_Alacak.xlsm dosyasındaki C sütunundaki değerler, KAPALI.xlsx dosyasında A sütunundalar. Bunlara karşı gelen KAPALI.xlsx dosyasındaki F sütunundaki değerleri, Su_Alacak.xlsm dosyasında F sütununa almak istiyorum.
Saygılarımla
 

Ekli dosyalar

Deneyiniz.

C++:
Option Explicit

Sub Veri_Al()
    Dim Baglanti As Object, Kayit_Seti As Object
    Dim WB1 As String, WB2 As String, Sorgu As String

    WB1 = ActiveWorkbook.FullName
    WB2 = ActiveWorkbook.Path & "\KAPALI.xlsx"

    Set Baglanti = CreateObject("AdoDb.Connection")

    Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
                   WB1 & "; Extended Properties=""Excel 12.0;Hdr=Yes"""
    
    Sorgu = "Select T2.[TUTAR] From [" & WB1 & "].[Sayfa1$B6:F] As T1 " & _
            "Left Join " & _
            "[" & WB2 & "].[Sayfa1$A:G] As T2 " & _
            "On T1.[Ortak No] = T2.[ORTAK_NO]"
    
    Set Kayit_Seti = Baglanti.Execute(Sorgu)
    
    Sheets("Sayfa1").Range("F7:F" & Rows.Count).ClearContents
    Sheets("Sayfa1").Range("F7").CopyFromRecordset Kayit_Seti

    Baglanti.Close
    
    Set Kayit_Seti = Nothing
    Set Baglanti = Nothing
End Sub
 
Sayın Korhan Ayhan Hocam,
İlginize çok teşekkür ederim. Düşeyara gibi çalışıyor. Denedim
Saygılarımla
 
Son düzenleme:
Deneyebilirsiniz..
 
Geri
Üst