• DİKKAT

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

Başka bir excel dosyasından veri çağırma (hücre değerine göre)

  • Konbuyu başlatan Konbuyu başlatan naqi34
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Eylül 2011
Mesajlar
4
Excel Vers. ve Dili
2007-TR
Günlük olarak yedek alarak kaydettiğim bir excel dosyası var. aynı tabloyu a1 deki değere göre çağırmak istiyorum.
='C:\Documents and Settings\tarama\Desktop\YİS\[06.10.2011.xlsToplam Özet]j1'!B2
örnekteki formulde 06.10.2011 yazan yeri değiştirip, a1 hücresine göre ilgili excel dosyasından veri almasını istiyorum.
örneğin 07.10.2011 yazdığımda 07.10.2011.xls dosyasındaki verileri getirsin.
Yardımlarınız için şimdiden teşekkürler.
 
Merhaba
Buna göre 3 veya daha fazla dosya ekleyin çözümünü bulmaya çalışalım
 
Örnek Excel Dosyaları

Ekli dosyada 3 adet dosya upload ettim.
Ana dosya: verilerin geleceği dosya.
09.10.2011 ve 10.10.2011 dosyaları ise, verilerin çekileceği dosyalar.
Verilerin çekileceği dosya sayısı bu 2 örnek ile sınırlı olmayacak, gün geçtikçe yeni veri dosyaları gelecek. 11.10.2011, 12.10.2011 gibi.
Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

Ekli dosyada 3 adet dosya upload ettim.
Ana dosya: verilerin geleceği dosya.
09.10.2011 ve 10.10.2011 dosyaları ise, verilerin çekileceği dosyalar.
Verilerin çekileceği dosya sayısı bu 2 örnek ile sınırlı olmayacak, gün geçtikçe yeni veri dosyaları gelecek. 11.10.2011, 12.10.2011 gibi.
Yardımlarınız için şimdiden teşekkürler.

Merhaba
bu işlemi formül ile yapmaya kalkarsak büyük bir ihtimalle sorun yaşacaksınız. Çünkü kullanacağımız formüller kapalı dosyadan veri çekmiyor mutlaka açık olması gerekiyor.
Ben makro ile halledeceğim daha kullanışlı olması bakımından.
Yalnız bunun için biraz bilgiye ihtiyacım var
1. Ana dosya nerede yol olarak ( D:\naqi44 gibi )
2. Diğer günlük dosyalar nerede ( D:\naqi44\10.Ay gibi )
bilgileri verirseniz yardımcı olmam kolaylaşacaktır.
 
Merhaba İhsan bey;
Dosya yolunu D:\Günlük İstatistik olarak belirleyelim, diğer günlük dosyaları yine aynı klasörde olacak. Hepsi D:\Günlük İstatistik dosyasında olacak. Türkçe karakter veya boşluk sorun yaratırsa, klasör ismi bitişik gunlukistatistik veya sadece gunluk olabilir.
İyi çalışmalar.
 
Merhaba İhsan bey;
Dosya yolunu D:\Günlük İstatistik olarak belirleyelim, diğer günlük dosyaları yine aynı klasörde olacak. Hepsi D:\Günlük İstatistik dosyasında olacak. Türkçe karakter veya boşluk sorun yaratırsa, klasör ismi bitişik gunlukistatistik veya sadece gunluk olabilir.
İyi çalışmalar.

Merhaba
Eki inceler misiniz_?
Bir Butona var ona tıklayın gerekli tüm bilgileri alsın
 

Ekli dosyalar

Teşşekkürler İhsan bey, gönderdiğiniz dosyayı inceledim makro düzgün bir şekilde çalışıyor.
Fakat ana dosyada verilerin kopyalandığı sayfanın ismini değiştirince hata veriyor.
Sayfa ismini değiştirdiğim zaman, makro üzerinde nasıl bir değişiklik yapmam gerekiyor acaba.
"Sayfa1" yerine "Bir Önceki Gün Genel Toplam" gibi.
 
Teşşekkürler İhsan bey, gönderdiğiniz dosyayı inceledim makro düzgün bir şekilde çalışıyor.
Fakat ana dosyada verilerin kopyalandığı sayfanın ismini değiştirince hata veriyor.
Sayfa ismini değiştirdiğim zaman, makro üzerinde nasıl bir değişiklik yapmam gerekiyor acaba.
"Sayfa1" yerine "Bir Önceki Gün Genel Toplam" gibi.

Merhaba
bunu baştan söyleseydiniz ona göre düzenlerdim
Module'de bulunan kodu
Kod:
Option Explicit
Sub bilgi_çek_61()
Dim ts, trabzonspor, hamsi As Date
Dim d1, d2, s1, s2, yol
d1 = ActiveWorkbook.Name
s1 = ActiveSheet.Name
yol = ThisWorkbook.Path & "\"
d2 = Workbooks(d1).Sheets(s1).Range("J1") & ".xls"
s2 = ActiveSheet.Name
trabzonspor = MsgBox("                 " & Format(Workbooks(d1). _
Sheets(s1).Range("J1"), "dd.mm.yyyy") & vbLf _
& " Tarihli Dosyadan Verileri Alıyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
hamsi = Time
Workbooks.Open (yol & d2)
Workbooks(d2).Sheets(s2).Range("C3:H12").Copy Destination:= _
Workbooks(d1).Sheets(s1).Range("C3")
Workbooks(d2).Sheets(s2).Range("C16:H25").Copy Destination:= _
Workbooks(d1).Sheets(s1).Range("C16")
Workbooks(d2).Save
Workbooks(d2).Close
Application.ScreenUpdating = True
MsgBox "        " & Format(hamsi - Time, "hh:mm:ss") & vbLf _
& " Sürede " & Format(Workbooks(d1).Sheets(s1).Range("J1"), "dd.mm.yyyy") & vbLf _
& " Tarihli Bilgileri Aldım", , "Bitiş"
End Sub
Bununla değiştirin ve deneyin.
 
Geri
Üst