• DİKKAT

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

Ayrı hücrelerdeki değerleri bulup tek sutunda alt alta sıralamak

  • Konbuyu başlatan Konbuyu başlatan nzmsmz
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Mayıs 2015
Mesajlar
94
Excel Vers. ve Dili
VBA
Herkese merhaba,

Tek bir sutunda birden fazla sorgulama yaparak 2. shetteki değerleri alt alta sıralama yapmak istiyorum. Çoke formülleri ile denedim ama kurguyu yapamadım.

örnek dosyada Data kısmında yeralan DEĞERADI1, DEĞERADI2 deki sutunlara, ek2017 shettindeki yanyana yer alan ayrı sutunlarda yer alan DEĞERADI 1 DEĞERADI2 verilerini alt alta getirmek istiyorum. ve bunu yaparken de Dönemin ve ilgili İD nin verisini getirmesi gerekiyor.

https://drive.google.com/open?id=0B9IeOwtua-QoY2NmUVJwQkdERmM

yardımcı olabilirseniz sevinirim
 
c3 hücresine:
Kod:
=TOPLA.ÇARPIM(($B2='ek2017'!$A$3:$A$6)*(data!C$1='ek2017'!$B$2:$AK$2)*(data!$A2='ek2017'!$B$1:$AK$1);'ek2017'!$B$3:$AK$6)

sağa ve alta doğru çoğaltınız.
 
* Her iki sayfada da DEĞERADI4, DEĞERADI5 gibi sınırsız arttırabilirsiniz.

Kontrol ediniz.

Kod:
Sub Degerleri_Getir()
   Sheets("data").Select
   sonsutun = Cells(1, Columns.Count).End(xlToLeft).Column
   sonsatir = Cells(Rows.Count, "A").End(3).Row
   Range(Cells(2, 3), Cells(sonsatir, sonsutun)).ClearContents
   
   For i = 2 To 1000000
     datadonemi = Cells(i, 1).Value
     dataidsi = Cells(i, 2).Value
     If datadonemi = "" Then Exit For
     For j = 3 To 1000000
       datadeger = Cells(1, j).Value
       If datadeger = "" Then Exit For
       Set ek = Sheets("ek2017")
       ekidsatir = ek.Cells.Find(What:=dataidsi, After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
       eksonsutun = ek.Cells(1, ek.Columns.Count).End(xlToLeft).Column
       For k = 2 To eksonsutun
         ekdonem = ek.Cells(1, k).Value
         ekdeger = ek.Cells(2, k).Value
         If ekdonem = datadonemi And ekdeger = datadeger Then
            tutar = ek.Cells(ekidsatir, k).Value
            Cells(i, j).Value = tutar
         End If
       
       Next k
     Next j
   Next i
End Sub
 
vardar07 ve asri ikinize de ayrı ayrı teşekkür ederim. zahmet verdim hakkınızı helal edin 3-4 saattir buna uğrasıyordum
 
Geri
Üst