Bir çalışma sayfasındaki verileri başka bir çalışma sayfasına ADO yardımıyla aktarmaya yarayan VBA kodu alternatifidir.
Option Explicit
Sub CalismaSayfasindakiTabloyuBaskaBirSayfayaKopyalaADO()
'--------------------------------------------------
'Değişkenler
'--------------------------------------------------
Dim baglanti As ADODB.Connection
Dim kayitSeti As ADODB.Recordset
Dim baglantiMetni As String
Dim sorgu As String
'--------------------------------------------------
'Değişken Atamaları
'--------------------------------------------------
Set kayitSeti = New ADODB.Recordset
Set baglanti = New ADODB.Connection
'--------------------------------------------------
'Dosya için bağlantı metnini ayarla ve aç.
'--------------------------------------------------
baglantiMetni = "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source=" & ThisWorkbook.Path & "\veri.xlsx;" _
& "Extended Properties=""Excel 8.0; HDR=No"""
baglanti.Open baglantiMetni
'--------------------------------------------------
'Sorgu alanını (en üstteki başlık sütunu olmadan) ayarla.
'--------------------------------------------------
sorgu = "SELECT * FROM [A2:B13]"
'--------------------------------------------------
'Sorguyu çalıştır.
'--------------------------------------------------
Set kayitSeti = baglanti.Execute(sorgu)
'--------------------------------------------------
'Kopyalanacak sayfada ilgili alanı hazırla ve veriyi aktar.
'--------------------------------------------------
Sheets("hedef").Range("F:G").Clear
Sheets("hedef").Range("F1").CopyFromRecordset kayitSeti
End Sub
Konu ile ilgili örnek dosyayı bu bağlantıdan indirebilirsiniz: İndir