Döngü vermek

Katılım
26 Nisan 2007
Mesajlar
6
Excel Vers. ve Dili
excel2003
Merhaba;
iki exel dosyasının birbirine bağlı olarak çalışmasını istiyorum.Örneğin Sayfanın
ilki data.xls, diğeri hesap.xls . Data.xls den bir değer okutup , hesap.xls sayfasında hesaplatıp sonucunu data.xls de istediğim yere yazdırdım.Ancak daha sonraki değerler için döngü verecek bir vbasic komutu yazamadığımdan sonrasını yapamadım.
Şöyle ki Data.xls de A1 dücresinden bir değeri, hesap .xls G1 hücresine yazıyor. hesap.xls hesaplıyor.sonuç hesap.xls D1 e yazılıyor.Oradan Tekrar Data.xls D1 e atanıyor.Bunu yaptım.Ama devamında data.xls A2 hücresinden değer alıp i hesap.xls G1 hücresine ataması aynı sonucu Hesap.xls D1 e yazması ve oradan alıp Data.xls D2 hücresine atamasını istiyorum.
Yani Data.xls den A1:An Sırayla okuyacak Hesap.xls G1 e yazacak sonuçları sırayla Hesap.xls D1 den alacak , Data.xls D1:Dn yazacak.
Yardımlarınız için Şimdiden Teşekkürlerimi sunarım.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

Her iki dosyanın da açık olduğunu farzederek şu şekilde basit bir döngü kurdum.Başka örneklerini forumda yeteri kadar bulabilirsiniz. For next ve kapalı dosyadan veri aktarma olarak aratırsanız daha değişik fikirler edinebilirsiniz.Kodlar:

Kod:
Sub Makro1()
For i = 1 To WorksheetFunction.CountA(Workbooks("Data.xls").Sheets("Sayfa1").Range("A:A"))
    Workbooks("Hesap.xls").Sheets("Sayfa1").Range("G1") = Workbooks("Data.xls").Sheets("Sayfa1").Range("A" & i)
    Workbooks("Data.xls").Sheets("Sayfa1").Range("D" & i) = Workbooks("Hesap.xls").Sheets("Sayfa1").Range("D1")
    
    Next i
   
End Sub
 
Üst