Kapalı dosyadan veri almak

mozdem

Altın Üye
Katılım
11 Kasım 2005
Mesajlar
441
Excel Vers. ve Dili
Windows 2011 TR
MS Office 2019 TR - 32bit

VBA, Selenium ve VBS
Altın Üyelik Bitiş Tarihi
08-04-2026
Merhabalar,

1-kapalı .csv uzantılı dosyadan, kritere göre veri almak istiyorum. Ancak .xls dosyadan alabiliyorum. .csv dosyasından alamıyorum.

2-kapalı dosyadaki sutun başlıkları boşluklar içerdiği için problem çıkıyor. Bu nedenle istediğim sutundaki verileri alamıyorum.
3-Aşağıdaki kodları da sizin sitenizdeki hocalardan yararlandım. şimdi isimlerini hatırlayamıyorum. onlara da teşekkür ederim.

kod aşağıdaki gibi, yinede dosyaları yükledim. yardımlarınızı bekliyorum.

dosya linki= http://s9.dosya.tc/server2/dbr1cz/veri_al.rar.html

Kodları MS Office 2013 - 2016 versiyonunda yapıyorum. kod içinde "yol = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=....."
satırda değişiklik yapmam gerekirmi.

Kod:
Sub verial()
Dim ArananVerininStrNo As Integer
Dim ArananVerininSutunAdi As String

Set baglanti = CreateObject("ADODB.Connection")

kaynak_dosya = Sheets("veriler").Range("B2").Value
yol = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\" & kaynak_dosya & ";Extended Properties=""Excel 8.0;HDR=yes;IMEX=1"";"
baglanti.Open yol


'----------------------------------------
ArananVerininStrNo = 4
ArananVerininSutunAdi = "a"
'-----------------------------------

'-----Kapalı DOSYADAKİ-----------------
sut_adi = "ISLEM  KODU"
sut_adi2 = "TARIH"
'sut_adi3 = "BULTEN ADI"
sut_adi3 = "BULTEN"
kaynak_sayfa = Sheets("veriler").Range("C2").Value
'-------------------------------------------------

aranan = "Select " & sut_adi2 & " From [" & kaynak_sayfa & "$a1:g65536] where [" & sut_adi & "]='" & Cells(ArananVerininStrNo, ArananVerininSutunAdi) & "'"
Set rs = baglanti.Execute(aranan)
Cells(4, "B").CopyFromRecordset rs

'****
aranan = "Select " & sut_adi3 & " From [" & kaynak_sayfa & "$a1:g65536] where [" & sut_adi & "]='" & Cells(ArananVerininStrNo, ArananVerininSutunAdi) & "'"
Set rs = baglanti.Execute(aranan)
Cells(4, "C").CopyFromRecordset rs

'-----------------------------------------

rs.Close
baglanti.Close
Set rs = Nothing
End Sub
 
Son düzenleme:

mozdem

Altın Üye
Katılım
11 Kasım 2005
Mesajlar
441
Excel Vers. ve Dili
Windows 2011 TR
MS Office 2019 TR - 32bit

VBA, Selenium ve VBS
Altın Üyelik Bitiş Tarihi
08-04-2026
Soruyu sorduğum andan itibaren uğraşıyorum. Çeşitli çözüm aradım ama başaramadım.
1- Sanırım csv uzantılı dosyalardan bu şekilde veri alamıyoruz.

çözüm 1-makro ile formül oluşturup formül ile yaptığımda, formülün veri alması için kapalı dosyayı açıp kapatmam gerekiyor. dosyayı açıp kapatmak istemiyorum.

çözüm 2- csv dosyasını xls dosyasına çevirerek çözüm bulmak.
bunun için ise 1-Dosyayı makro ile csv den xls ye çevirmem gerekir.

2-Dosyanın sutun adları boşluk içerdiğinden, bu adları değiştirmem gerekiyor.

Yardımlarınızı bekliyorum
 
Üst