Ekli dosya ile ado ile dosya kapalı iken veri alınıyor.
Yalnız veri alına dosyada sayfa1 den alınıyor.
Başka sayfadan veri almak için kodda sayfa1$ yazan yeri değiştiriniz.
Dosya ektedir.
Sub kapali_veri_al()
Dim dosya, conn As Object, rs As Object
ChDir (CreateObject("wscript.shell").SpecialFolders(16))
dosya = Application.GetOpenFilename(filefilter:="Excel Dosyaları,*.xls", Title:="Dosya Seçiniz, evrengizlen@hotmail.com")
If dosya = False Then Exit Sub
Set conn = CreateObject("AdoDb.Connection")
Set rs = CreateObject("AdoDb.Recordset")
Sheets("Sayfa1").Select
Cells.ClearContents
conn.Open "Provider=microsoft.jet.oledb.4.0;data source=" & dosya & ";extended properties=""excel 8.0;hdr=No"""
On Error GoTo hata
rs.Open "Select * from [Sayfa1$];", conn, 1, 1
On Error GoTo 0
Range("A1").CopyFromRecordset rs
MsgBox "Dış veri alındı" & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
Exit Sub
hata:
MsgBox "Veri aldığınız dosyada sayfa1 isimli sayfa yoktur.", vbCritical, "UYARI"
Set rs = Nothing
Set conn = Nothing
End Sub
[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]