Excel kitabından veri alma

Katılım
31 Aralık 2011
Mesajlar
373
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
merhabalar arkadaşlar
boş bir excel sayfasına daha nce kayıtlı olan deneme.xlsx dosyasındaki sayfa1!A:A sütunundaki verileri her açılışta verileri otomtik alacak şekilde ayarlamam gerek. böyle bir işlemi nasıl yapabilirim?
teşekkürler.
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
591
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Çok basit şekilde, kaynak dosyadaki A sütununu kopyalayıp; hedef dosyanıza yapıştırırken özel yapıştırı seçip, bağlantılı yapıştır yapabilirsiniz.
Bu yöntemin dezavantajı,formül olduğu için; hedef dosyafa yapacağınız her işlemde biraz yavaşlama olacaktir.
 
Katılım
31 Aralık 2011
Mesajlar
373
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
merhaba
hocam sorgu olarak ekleme yapsam açılışta otomatik güncellemiyor galiba.
bu şekilde bir çözüm lsa çok güzel olur aslında.
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
591
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Sorgu hakkında cok detaylı bilgim yok.
Bilgisi olan bir üstad yardımcı olabilir sanırım.
Başlangıçta sorguyu güncelleyecek bir makro da işinizi görebilir belki.
:)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,449
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dosyanıza bir modül ekleyip aşağıdaki kodu uygulayın.

Dosya yolunu ve sayfa isimlerini kendinize göre düzenlersiniz.

Kodlar dosya açılışında otomatik çalışacaktır.

C++:
Option Explicit

Sub Auto_Open()
    Dim Dosya As String, S1 As Worksheet, Baglanti As Object
    Dim Kayit_Seti As Object, Sorgu As String, Zaman As Double
    
    Dosya = "C:\Desktop\Deneme.xlsx"
    
    If Dir(Dosya) = "" Then
        MsgBox "Dosya bulunmadı!", vbCritical
        Exit Sub
    End If
    
    Zaman = Timer
    
    Set Baglanti = CreateObject("AdoDb.Connection")
    Set Kayit_Seti = CreateObject("AdoDb.Recordset")
    Set S1 = Sheets("Sayfa1")
    
    S1.Range("A2:A" & S1.Rows.Count).Clear
    
    Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
    Dosya & ";Extended Properties=""Excel 12.0;Hdr=No"""
            
    Sorgu = "Select F1 From [Sayfa1$A:A]"
    Kayit_Seti.Open Sorgu, Baglanti, 1, 1
    If Kayit_Seti.RecordCount > 0 Then
        S1.Range("A1").CopyFromRecordset Kayit_Seti
        S1.Columns.AutoFit
    End If
        
    If Kayit_Seti.State <> 0 Then Kayit_Seti.Close
    If Baglanti.State <> 0 Then Baglanti.Close
    
    MsgBox "Veri aktarımı tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
    
    Set Kayit_Seti = Nothing
    Set Baglanti = Nothing
    Set S1 = Nothing
End Sub
 
Katılım
31 Aralık 2011
Mesajlar
373
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
çok teşekkür ederim.
 
Üst