• DİKKAT

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

Kapalı Excelden Veri Kopyalama

Katılım
20 Ocak 2020
Mesajlar
247
Excel Vers. ve Dili
Office 2016 TR 64 Bit
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.
 
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
 
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
 
Çok teşekkür ederim.
 
Geri
Üst