• DİKKAT

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

İki Dosya Arasında Arama Yapmak

Katılım
19 Şubat 2012
Mesajlar
9
Excel Vers. ve Dili
Excel 2010
İki Çalışma Kitabı Arasında Arama Yapmak (Yardım Lütfen)

Arkadaşlar merhaba. Excel ile ilgili bir sıkıntım var fakat işin içerisinden çıkamadım. İki ayrı dosyam var. Bunlardan biri bir sütunda yılın tüm günlerini içeriyor. İkinci dosya aylık dosyam, bu dosyadan hafta içi her gün taşı ve kopyala diyerek bir sonraki güne devir alıyorum. Bir formülle ikinci tablodan birinci tabloya veri almak istiyorum fakat var olmayan sayfalar olduğundan (her gün bir sayfayı ifade ediyor ve günü geldikçe devir alarak açıyorum) veri alamadım. Söyle bir makro yazılabilirmi? Git ikinci dosyanın tüm sayfalarındaki X hücresine bak (tarih içeren hücre) eğer birinci dosyadaki X (tarih satırı) hücresine eşitse ikinci dosyadaki Y verisini birinci dosyadaki Y hücresine yaz.Bunu ilk dosyada bir güncelle düğmesi koyarak güncellerim diye düşündüm. Umarım karışık olmamıştır. Olabildiğince basit yazmaya çalıştım. Makro'dan çok anlamadığımdan konuyu çözebilen arkadaşım basit bir şekilde ne yapacağımıda yazarsa çok sevinirim. Şimdiden herkese teşekkürler.
 
Son düzenleme:
Foruma hoşgeldiniz.
Konu başlığını değiştirmelisiniz. Zira herkes yardım yazarsa içinden çıkılamaz ki zaten burada gerçekleşen de ; bilenin bilmeyene yardımıdır.

Ve mesajınızın ekinde bir örnek dosya neyi nerde nasıl ne iş yaparken istediğinizi daha görsel ve çözüldüğünde de kalıcı anlatabilir.
 
Foruma hoşgeldiniz.
Konu başlığını değiştirmelisiniz. Zira herkes yardım yazarsa içinden çıkılamaz ki zaten burada gerçekleşen de ; bilenin bilmeyene yardımıdır.

Ve mesajınızın ekinde bir örnek dosya neyi nerde nasıl ne iş yaparken istediğinizi daha görsel ve çözüldüğünde de kalıcı anlatabilir.

Öncelikle özür dilerim. Acemiliğime verin :) Dosyaları ekledim. IF'li formül olarak yazmayı denedim fakat açılmayan bir sayfaya IF'li formül yazamadığımdan beceremedim. Sanırım makro ile yapılabilecek birşey. 1. dosya her açıldığında yada bir güncelle tuşuna basınca 2. dosyanın o ana kadar açılan tüm sayfalarında A1 hücresine bakıp tarihi eşit olan hücreyi bulunca Y-Z-Q verilerini 1. dosyadaki Y-Z-Q sütununa yazsın. Yardımlarınız için çok teşekkürler.
 

Ekli dosyalar

  • 1.xlsx
    1.xlsx
    8 KB · Görüntüleme: 10
  • 2.xlsx
    2.xlsx
    9.1 KB · Görüntüleme: 7
Son düzenleme:
Ekteki dosyayı inceleyebilirmisiniz.

Öncelikle ilgile teşekkürler arkadaşım. İstediğim tam tersi. 2. dosyadan 1. dosyaya veri almak fakat düşey ara ile bu işi yapamam. (en azından ben yapamadım :) ) sebebi 2. dosyada her gün taşı ve kopyala diyerek son sayfanın devir olarak kopyasını alıyorum. (2.dosyada her sayfa bir günü ifade ediyor) Açmadığım sayfaya için formül yazamadığımdan sanırım makro ile yapılır diye düşündüm. 1.dosyaya makro yazılarak git 2. dosyadaki tüm sayfalardaki şu hücreye bak (tarih) eğer dosya 1'deki tarihle eşleşiyorsa Y-Z-Q verilerini 1. dosyaya getir gibi birşey yazılmalı. Makro konusunda pek birşey bilmiyorum, çok zor birşey olmamalı diye düşündüm. Yinede çok saol.
 
Kodları, 1.xls dosyasında module kopyalayıp çalıştırın.

Dosya uzantılarını ve çalışma adlarını kendinize uyarlarsınız.

Kod:
Sub VeriAl()
 
    Dim i As Integer, c As Range
 
    Application.ScreenUpdating = False
    Range("B2:D" & Rows.Count).ClearContents
 
    Workbooks.Open (ThisWorkbook.Path & "/[B][COLOR=blue]2[/COLOR][COLOR=red].xls[/COLOR][/B]")
 
    For i = 1 To ActiveWorkbook.Sheets.Count
        With Workbooks("[B][COLOR=blue]1[/COLOR][COLOR=red].xls[/COLOR][/B]").Sheets("Sayfa1")
            Set c = .[A:A].Find(Sheets(i).Range("A1"), , xlValues, xlWhole)
            If Not c Is Nothing Then
                .Cells(c.Row, "B") = Sheets(i).Range("B4")
                .Cells(c.Row, "C") = Sheets(i).Range("C4")
                .Cells(c.Row, "D") = Sheets(i).Range("D4")
            End If
        End With
    Next i
 
    ActiveWorkbook.Close
 
End Sub

.
 
Ömer usta çok teşekkür ederim ilgine ama sanırım kabiliyetsizliğim beceremedim :) Bunu dosya içersinde olarak göndermen mümkün mü?
 
Linki inceleyiniz. 1 nolu çalılmanıza bu şekilde module ekleyip kodları kopyalayın ve bir butona bağlayın yada Alt F8 ile çalıştırın.

Modül Ekleme (Resimli Anlatım)

.
 
Linki inceleyiniz. 1 nolu çalılmanıza bu şekilde module ekleyip kodları kopyalayın ve bir butona bağlayın yada Alt F8 ile çalıştırın.

Modül Ekleme (Resimli Anlatım)

.

Ömer hocam dediklerinizi yaptım.Dosyaya kendi verilerimi girip makroyu çalıştırdım fakat hata verip alttaki satırı sarı renk yapıyor Vb. Sanırım sayfayı bulamıyor değilmi?

.Cells(c.Row, "G") = Sheets(i).Range("F1")
 
#10 numaralı mesajdaki kodları değiştirdim, tekrar deneyiniz.
 
#10 numaralı mesajdaki kodları değiştirdim, tekrar deneyiniz.

Allah razı olsun Ömer bey. İstediğim tam olarak bu, gerçekten çok işime yaradı. Size birşey daha danışmak istiyorum. Excel formüller konusunda fena değilim fakat makro konusundan pek anlamıyorum. Basit anlamda tavsiye edeceğiniz bu işi öğrenebileceğim bir kitap yada makale varmıdır? Yardımlarınız için tekrar çok teşekkür ederim.
 
Geri
Üst