• DİKKAT

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

baska dosyadan veri alan macro

Şu kodlar bir deneyiniz.

Kod:
Sub Emre()
    Dim con As Object, rs As Object
    Dim dosya As String, sorgu As String
    Set con = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
    dosya = ThisWorkbook.Path & "\AMBAR ÇIKIŞ BONOSU KAYIT.xlsm"
    con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dosya & _
        ";Extended Properties=""Excel 12.0;hdr=yes"""
        sorgu = "Select [MALZEME ADI] FROM [AMBAR ÇIKIŞ BONOSU VERİ GİRİŞİ$]"
        rs.Open sorgu, con, 1, 1
        Range("BJ3").CopyFromRecordset rs
    Set rs = con.Execute("select [BONO NO1 :  ] from [AMBAR ÇIKIŞ BONOSU VERİ GİRİŞİ$]")
        Range("BL3").CopyFromRecordset rs
    rs.Close: con.Close
    Set con = Nothing: Set rs = Nothing
    dosya = vbNullString: sorgu = vbNullString
End Sub
Birkaç farklı yolla çözülebilirdi ben bunu tercih ettim.


Dosyada iki yerde değişiklik yaptım.
1.si: C sütunu başlığını BONO NO1 yaptım.
2.si: Malzeme adının olduğu satırı en başa aldım.
Dosyada göreceksiniz zaten.
Eğer sizin uygun değilse; ya başka yolla çözeriz, ya da zaten siz bir yolunu bulmuşsunuz...

İyi geceler...
 

Ekli dosyalar

Şu kodlar bir deneyiniz.

Kod:
Sub Emre()
    Dim con As Object, rs As Object
    Dim dosya As String, sorgu As String
    Set con = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
    dosya = ThisWorkbook.Path & "\AMBAR ÇIKIŞ BONOSU KAYIT.xlsm"
    con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dosya & _
        ";Extended Properties=""Excel 12.0;hdr=yes"""
        sorgu = "Select [MALZEME ADI] FROM [AMBAR ÇIKIŞ BONOSU VERİ GİRİŞİ$]"
        rs.Open sorgu, con, 1, 1
        Range("BJ3").CopyFromRecordset rs
    Set rs = con.Execute("select [BONO NO1 :  ] from [AMBAR ÇIKIŞ BONOSU VERİ GİRİŞİ$]")
        Range("BL3").CopyFromRecordset rs
    rs.Close: con.Close
    Set con = Nothing: Set rs = Nothing
    dosya = vbNullString: sorgu = vbNullString
End Sub
Birkaç farklı yolla çözülebilirdi ben bunu tercih ettim.


Dosyada iki yerde değişiklik yaptım.
1.si: C sütunu başlığını BONO NO1 yaptım.
2.si: Malzeme adının olduğu satırı en başa aldım.
Dosyada göreceksiniz zaten.
Eğer sizin uygun değilse; ya başka yolla çözeriz, ya da zaten siz bir yolunu bulmuşsunuz...

İyi geceler...

Teşekkür Ederim Murat bey. Ancak dediğiniz gibi bir sekilde halletmiştim.
Vermiş olduğunuz kodu denedim c_1 ile c_2 arsında 12 satır boşluk bırakarak aktarmakta alt alta aktarması gerekmekteydi.

Birde Makronuzun aktarılacağı sayfayı Tanımlanmamış bende
Dim S2 As Worksheet
Set S2 = Sheets("VERİ")
eklemesi yaparak revize etmiştim.

İlgilendiğiniz için teşekkürler.
 
Aktarılacağı sayfa çokta önemli değil.. Hücrelerin başına sayfa adını yazmanız yeter.
C sütunundaki verileri alt alta BL3 hücresinden itibaren listeliyor. Bir sorun görünmüyor. Olmazsa tekrar bakarım..

Çözdüyseniz iyi günler dilerim..
 
öncelikle iyi günler siteyi taradım fakat aradığım formül yada macroyu bulamadım bana yardımcı olursanız çok sevinirim.
aradığım formül: BİRİNCİ SAYFADAN A1 DEN A6000 E KADAR OLAN LİSTEDEKİ VERİLERİ DİĞER SAYFADAN TEK TEK A1 DEN A6000 E KADAR OLAN LİSTEDEN ARAYIP B SÜTÜNUNDAKİ VERİYİ BİRİNCİ SAYFADAKİ ARANANIN KARŞISINDAKİ B SÜTUNUNA YAZMAK.
 
merhaba

arkadaşlar en uygun kategori bu konuyu bulduğum için buraya yazıyorum. yukarıda belirtildiği şekilde benim de bir veri excellim var, ama bu ecxell içerisinde 30-40 bin kayıt bulunuyor. ben her ay bu sayfadan filtreyelerek veya Pivot kullanarak istediğim kişilerin yapmış olduğu işlemleri tek tek rapor alıyorum, e malumunuz bu da benim baya bir zamanımı alıyor. :(

yapmak istediğim bu excell dosyası içerisinde bulunan 30 kullanıcı için ayrı ayrı exceller oluşturmak, oluşturduğum her excell örnek ahmet.xlsm dosyası nı açtığım zaman bana ana excellden ahmet ismini bulacak ve bu oluşturduğum excelle ahmet isminin bulunduğu sütun'u ilgili excell içerisine update edecek, yalnız burada sofor hata olması çok önemli. ana dosyada Ahmet 3, Ahmet Suat, gibi isimler var ise bunu bana getirmemelidir. sadece Ahmet olan stunları hatasız getirmelidir.

uzman bilgilerinize dayanarak yardımlarınızı rica ederim.

teşekkürler
iyi çalışmalar


yardım lütfen.
 
Geri
Üst