Kapalı Excelden Veri Kopyalama

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Herkese merhaba, hayırlı haftasonları dilerim.



Benim “Takip.xlsm” ve “Veri.xlsx.” adında iki adet excel dosyam var. Ana excelim Takip dosyası, Veri dosyası ise verileri kopyaladığım excel dosyam.



Yapmak istediğim, masaüstümde bulunan Veri excelinden;

Birinci satırda “Durumu” yazan sütunu bulsun ve “Pasif” kelimesine filtre atsın, bu filtrenin üzerine yine birinci satırda “F.Birim” yazan sütunu bulsun ve “Şırnak” kelimesi geçenlere filtre atsın. Daha sonra;

Birinci satırda “Sicili” – “Rütbesi” – “Pas.Sebep” – “F.Birim” yazan sütunları bulsun, kopyalasın ve;

Sicili yazan sütunu, Takip excelinde “Genel Veriler” isimli sayfanın “A1” hücresine yapıştırsın,

Rütbesi yazan sütunu, Takip excelinde “Genel Veriler” isimli sayfanın “B1” hücresine yapıştırsın,

Pas.Sebep yazan sütunu, Takip excelinde “Genel Veriler” isimli sayfanın “C1” hücresine yapıştırsın,

F.Birim yazan sütunu, Takip excelinde “Genel Veriler” isimli sayfanın “D1” hücresine yapıştırsın. Yardım eden herkese şimdiden çok teşekküre ederim.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()

    Dim adoCN   As Object, rs As Object, strSql As String
    
    Set adoCN = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    
    adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCN.Properties("Data Source") = ThisWorkbook.Path & "\veri.xlsx"
    adoCN.Properties("Extended Properties") = "Excel 12.0; HDR=No"
    adoCN.Open
    
    strSql = " SELECT F2, F3, F5, F6 FROM [SAYFA1$] WHERE F4='PASİF' AND F6='ŞIRNAK VALİLİĞİ'"
    
    Set rs = adoCN.Execute(strSql)

    Sheets("Genel Veri").Range("A2:D" & Rows.Count).ClearContents
    Sheets("Genel Veri").Range("A2").CopyFromRecordset rs
    
    rs.Close
    adoCN.Close
    Set adoCN = Nothing

End Sub
 

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Elinize sağlık çok teşekkür ederim. Kod çalışıyor.
 

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Kod:
Sub test()

    Dim adoCN   As Object, rs As Object, strSql As String
   
    Set adoCN = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
   
    adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCN.Properties("Data Source") = ThisWorkbook.Path & "\veri.xlsx"
    adoCN.Properties("Extended Properties") = "Excel 12.0; HDR=No"
    adoCN.Open
   
    strSql = " SELECT F2, F3, F5, F6 FROM [SAYFA1$] WHERE F4='PASİF' AND F6='ŞIRNAK VALİLİĞİ'"
   
    Set rs = adoCN.Execute(strSql)

    Sheets("Genel Veri").Range("A2:D" & Rows.Count).ClearContents
    Sheets("Genel Veri").Range("A2").CopyFromRecordset rs
   
    rs.Close
    adoCN.Close
    Set adoCN = Nothing

End Sub
Bir şey daha rica edecektim, "ŞIRNAK VALİLİĞİ" değilde, içerisinde şırnak geçenleri nasıl filtreleyebiliriz peki
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bir şey daha rica edecektim, "ŞIRNAK VALİLİĞİ" değilde, içerisinde şırnak geçenleri nasıl filtreleyebiliriz peki
C++:
    strSql = " SELECT F2, F3, F5, F6 FROM [SAYFA1$] WHERE F4='PASİF' AND F6 LIKE '%ŞIRNAK%'"
.
 

Astalavista58

Altın Üye
Katılım
20 Ocak 2020
Mesajlar
242
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
20-02-2025
Çok teşekkür ederim.
 
Üst