• DİKKAT

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

İndis,Kaçıncı ve Dolaylı formüllerinin tek Formülde kullanılması Hakkında Yardım

Katılım
24 Ekim 2012
Mesajlar
71
Excel Vers. ve Dili
excel 2019 tr
:redface: Merhabalar,

İndis ve kaçıncı formülünü kullanarak dinamik aramayla diğer sayfalardan veri getirebiliyorum. Fakat bu formüle dolaylı formülünü de ekleyip tek formülde tüm sayfalardan aradığım başlığa göre veri getirebilmem mümkün mü?

Genelde düşeyara,indis ve kaçıncı ile yapılan çalışmaları inceledim ama düşeyara ile yapılması sakıncalı, zira belirtilen tarih hep aynı sütuna denk gelmeyecektir. bu yüzden indis kaçıncı ve dolaylı daha doğru olur diye düşünüyorum tabiki mümkünse :-(

Yardımlarınız için şimdiden teşekkürler...
 

Ekli dosyalar

Bu dediğiniz makro ile daha uygun olur. Formüller ile yapılacaksa her tarih için sayfa tanımlaması yapmalısınız.
 
İlgilendiğiniz için çok teşekkür ederim.
Makro ile nasıl yapabiliriz, yardımcı olmanız mümkün mü?
 
Merhaba,
Sub Dağıt()
Application.ScreenUpdating = False
For i = 2 To Sheets.Count
son = WorksheetFunction.Count(Sheets(i).Range("B1:AF1")) + 1
For j = 2 To son
adet = WorksheetFunction.CountIf(Range("B1:AF1"), Sheets(i).Cells(1, j))
If adet = 0 Then GoTo 10
kac = WorksheetFunction.Match(Sheets(i).Cells(1, j), Range("B1:AF1"), 0) + 1
Range(Cells(2, kac), Cells(4, kac)) = Sheets(i).Range(Sheets(i).Cells(2, j), Sheets(i).Cells(4, j)).Value
10
Next
Next
End Sub
Kodu deneyiniz.
 
Harikasınız, çok çok teşekkür ederim....Sayenizde yeni bir şey daha öğrenmiş olduk, iyi ki varsınız....Kolay gelsin. Saygılar...
 
Hocam tekrar rahatsız ediyorum kusura bakmayınız. Ben bu dosyaya yeni satır ekleyince bilgileri otomatik getirmiyor? Nedeni ne olabilir acaba?
 
Range(Cells(2, kac), Cells(4, kac)) = Sheets(i).Range(Sheets(i).Cells(2, j), Sheets(i).Cells(4, j)).Value

Bu koddaki 4' leri en alt satır sayısı olarak değiştiriniz.
 
Eyvallah kardeşim sağolun, formül biliyorum da makro öğrenmem gerek :-) Sizi çok yordum kusura bakmayınız. Allah razı olsun
 
Son düzenleme:
Muhammet hocam, bu dosyayı düşeyara gibi hangi satırda aynı ismi görürse verileri getirebilecek şekilde nasıl yapabiliriz. Mahcup oldum size karşı emeğinize sağlık
 
Sub Dağıt()
Application.ScreenUpdating = False
Range("B2:AF1000") = ""
For i = 2 To Sheets.Count
son = WorksheetFunction.CountA(Sheets(i).Range("B1:AF1")) + 1
For j = 2 To son
adet = WorksheetFunction.CountIf(Range("B1:AF1"), Sheets(i).Cells(1, j))
If adet = 0 Then GoTo 10
sut = WorksheetFunction.Match(Sheets(i).Cells(1, j), Range("B1:AF1"), 0) + 1
For k = 2 To Cells(Rows.Count, "A").End(3).Row

sat = WorksheetFunction.Match(Cells(k, 1), Sheets(i).Range("A1:A1000"), 0)
Cells(k, sut) = Sheets(i).Cells(sat, j).Value

Next k
10
Next j
Next i
End Sub
Bu kodu deneyiniz.
 
Çok teşekkür ederim üstad. Elinize emeğinize sağlık...saygılar
 
Geri
Üst