• DİKKAT

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

baska dosyadan veri almak

Katılım
28 Kasım 2008
Mesajlar
191
Excel Vers. ve Dili
excel 2003
excel 2010
iyi gunler,

başka bir excel dosyasından veri almaya çalışıyorum. sitede bulduğum örenkelerden anladığım kadarıyla bir çalışma yapmaya çalıştım ama beceremedim. sanırım bir yer hata yapıyorum. dosyayı ekledim. yardımlarınız için teşekkürler.
 

Ekli dosyalar

Dosyanız ekte.
Benim yaptığım yerler kırmızı ile renklendirdim.:cool:
ADO için Tools referanslardan microsoft activex dataobject 2.8 library Seçin
Kod:
Private Sub CommandButton1_Click()
'Tools referanslardan microsoft activex dataobject 2.8 library seçildi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
[B][COLOR="Red"]Range("A2:H65536").Clear[/COLOR][/B]
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\data.xls;extended properties=""excel 8.0;hdr=yes;"""
rs.Open "select * from [AAAA[B][COLOR="Red"]$[/COLOR][/B]] where [B][COLOR="Red"]ADI[/COLOR][/B] like '" & "MEVLUT" & "%';", conn, adopendynamic, adlockoptimistic
Range("A2").CopyFromRecordset rs
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
 

Ekli dosyalar

evren hocam merhaba,

ilginden dolayı teşekkür ederim. Ama sormak istediğim bir şey var. "'Tools referanslardan microsoft activex dataobject 2.8 library seçildi" diye yazmışssınız. bunu biz manuel olarak mı yapıyoruz, şayet evet ise nasıl? anlatırsanız sevinirim. Teşekkürler.
 
evren hocam merhaba,

ilginden dolayı teşekkür ederim. Ama sormak istediğim bir şey var. "'Tools referanslardan microsoft activex dataobject 2.8 library seçildi" diye yazmışssınız. bunu biz manuel olarak mı yapıyoruz, şayet evet ise nasıl? anlatırsanız sevinirim. Teşekkürler.
Evet manuel yapacaksınız.
VBE'de iken
Tools==>Referanca
seçip çıkan Listeden onu seçeceksiniz.:cool:
 
Anladım hocam çok teşekkür ederim. Birde son olarak bu şekilde tüm bilgileri getiriyoruz. sadece bir hücreyi getirmek mümkün mü? yani sadece soyadını getirmek için nasıl yaparız?
 
Anladım hocam çok teşekkür ederim. Birde son olarak bu şekilde tüm bilgileri getiriyoruz. sadece bir hücreyi getirmek mümkün mü? yani sadece soyadını getirmek için nasıl yaparız?
Ekli dosyayı inceleyiniz.
MEVLÜT isimdeki şahısların soyadlarını listeler.:cool:
Kod:
Sub Düğme1_Tıklat()
'Tools referanslardan microsoft activex dataobject 2.8 library seçildi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Range("A2:H65536").Clear
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\data.xls;extended properties=""excel 8.0;hdr=yes;"""
rs.Open "select SOYADI from [AAAA$] where ADI like '" & "MEVLUT" & "%';", conn, adopendynamic, adlockoptimistic
Range("A2").CopyFromRecordset rs
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
 

Ekli dosyalar

Ya evren hocam çok oldum biliyorum ama son bir soru daha. Peki kapalı bir dosyaya veri yazdırmayı nasıl yapabiliriz. Yani bir sayfada girilen bir bilgiyi kapalı bir dosyada istediğimiz bir hücreye nasıl yazdırabiliriz. Mantığı hakkında bilgi verirseniz çok sevinirim.
 
Ya evren hocam çok oldum biliyorum ama son bir soru daha. Peki kapalı bir dosyaya veri yazdırmayı nasıl yapabiliriz. Yani bir sayfada girilen bir bilgiyi kapalı bir dosyada istediğimiz bir hücreye nasıl yazdırabiliriz. Mantığı hakkında bilgi verirseniz çok sevinirim.
Dosyanız ektedir.:cool:
Kod:
Sub kaydet()
'Tools referanslardan microsoft activex dataobject 2.8 library seçildi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Range("F1") = Range("F1").Value + 1
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\data.xls;extended properties=""excel 8.0;hdr=yes;"""
rs.Open "select * from [AAAA$] ;", conn, adopendynamic, adlockoptimistic
rs.AddNew
rs("ID") = Range("F1").Value
rs("ADI") = Range("C2").Value
rs("SOYADI") = Range("C3").Value
rs("YASI") = Range("C4").Value
rs("MEMLEKET") = Range("C5").Value
rs("SAYI1") = Range("C6").Value
rs("SAYI2") = Range("C7").Value
rs("SAYI3") = Range("C8").Value
rs.Update
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
Range("C2:C8").ClearContents
MsgBox "Kayıt başarı ile girildi.", vbOKOnly, "EVREN"
End Sub
 

Ekli dosyalar

Hocam öncelikle çalışmalarınız için çok teşekkürler.
Benim şöyle bir sorunum var;
Ekteki dosyada göreceğiniz üzere excel formülleri ile düzenlediğim dosyayı makro ile yapmak istiyorum ve yukarıda bahsedilen ADODB.Connection bağlantısnı kullandım fakat bazı problemler ile karşılaştım. Ekteki dosyaları inceleyebilirseniz çok sevinirim.

İyi çalışmalar...
 

Ekli dosyalar

Ellerinize sağlık. Çok faydasını gördüm. Çok teşekkür ederim
 
Geri
Üst