• DİKKAT

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

yazılan bir ifadenin tüm sekmelerde en son yazılan değeri

  • Konbuyu başlatan Konbuyu başlatan modoste
  • Başlangıç tarihi Başlangıç tarihi

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,714
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
merhaba sayın hocalarım ekli dosyamda 2010 yılı piyasa cari listesinin kısaltılmış 2-3 firmaya (sekmeye) indirgenmiş hali ile bir sorum olucaktı

gerçek tablom 134 sekmeli olup 27 mb lık bir dosyadır burdan olan formülü direk ana tabloma eklemeyi düşünüyorum

sorudaki detaylar ise
her bir sekmedeki firma için açılan şablon aynıdır. aynı sütunlarda açıklama-anı sütunlarda birim fiyat vs vs

sonuçların bulunmasını istediğim tablo HESAP ÖZETİ tablosu
hesap özeti sekmesinde D2 hücresine istediğim kelimeyi yada ifadeyi yazcak
örnek "(17 X 2200 ) kayış"
C4-C5-C6 hücrelerine A4-A5-A6 sekmelerindeki adlara göre her piyasa firmasının ana tablosunda (M1-M2..) B4 den başlayan tarihsel bilgi kısmında arama yapıp EN SON gördüğü yerdeki tarihi aynı şekilde açıklamayı ve birim fiyarı buldurmak istiyorum.

örnek tablomda D2 hücresine mazot filtresi yazdım ve sadece M3 firmasında olan veriler var ben olması istenen cevabı mavi renklerle manuel yazdım.
 

Ekli dosyalar

Selamlar,

İstediğiniz işlemi makro ile yapmak daha hızlı ve faydalı olacaktır. Aşağıdaki kodu boş bir modüle uygulayıp çalıştırınız.

Kod:
Option Explicit
 
Sub AKTAR()
    Dim S1 As Worksheet, SAYFA As Worksheet, Satır As Long, BUL As Range
    
    Set S1 = Sheets("HESAP ÖZETİ")
    Satır = 4
    
    For Each SAYFA In ThisWorkbook.Worksheets
        If SAYFA.Name <> "HESAP ÖZETİ" Then
            Set BUL = SAYFA.Cells.FindPrevious(S1.Range("D2"))
            If Not BUL Is Nothing Then
                S1.Cells(Satır, "A") = SAYFA.Name
                S1.Cells(Satır, "B") = SAYFA.Range("C1")
                S1.Cells(Satır, "C") = SAYFA.Cells(BUL.Row, "B")
                S1.Cells(Satır, "D") = SAYFA.Cells(BUL.Row, "F")
                S1.Cells(Satır, "E") = SAYFA.Cells(BUL.Row, "I")
                Satır = Satır + 1
            End If
        End If
    Next
        
    Set BUL = Nothing
    Set S1 = Nothing
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
sayın korhan hocam çözüm için teşekkür ederim
fakat ben formülasyonlu çözümleri öğrenmek istiyorum bu tarz tablolardan çok defa farklı sonuçlar alabilmek adına örnek çözümlere bakınca kendim değiştirebiliyorum daha sonra sorcak isteklerimi uyarlayabiliyorum ama makro bilmediğimden çaresiz seçeneksiz kalıyorum

siz sorumun mantığını tam kavradınız zaten
alternatif formüllü çözümleri bekliyorum
buradan alacağımız çözümleri depo sayfasına aktarmamız lazım yani bir üründen en son ne zaman ne aldıysak o fiyatları bulmak ve devamında komplike çözümlere geçmem lazım.
 
Merhaba,

Alternatif olsun.

C4 hücresine yazarak yana ve alt satırlara kopyalayınız..

Kod:
=EĞER(EĞERSAY(DOLAYLI("'"&$A4&"'!F:F");"*"&$D$2&"*")=0;"";KAYDIR(DOLAYLI(
"'"&$A4&"'!B1");MAK(--ESAYIYSA(MBUL("*"&$D$2&"*";KAYDIR(DOLAYLI("'"&$A4&"'!F1"
);;;BAĞ_DEĞ_DOLU_SAY(DOLAYLI("'"&$A4&"'!F:F"))+3)))*SATIR(DOLAYLI("1:"&
BAĞ_DEĞ_DOLU_SAY(DOLAYLI("'"&$A4&"'!F:F"))+3)))-1;ARA(SÜTUN();{3;4;5\2;6;9})-2))
Dizi formülüdür. ctrl + shift + enter tuş kombinasyonu ile girişini tamamlayınız..

.
 
Selamlar,

Ömer beyin eline sağlık. Yine harika bir formülle işi çözümlemiş. Bu noktada bir şey eklemek istiyorum. Bu formülün çalışması için A sütunundaki firma isimlerinin yazılı olması gerekmektedir.

Eğer A sütunundaki sayfa isimleri elle yazılacaksa formülle çözüm üretmek kolay olur. Aksi halde makrolu çözüm daha esnektir düşüncesindeyim.
 
Merhaba,

Alternatif olsun.

C4 hücresine yazarak yana ve alt satırlara kopyalayınız..

Kod:
=EĞER(EĞERSAY(DOLAYLI("'"&$A4&"'!F:F");"*"&$D$2&"*")=0;"";KAYDIR(DOLAYLI(
"'"&$A4&"'!B1");MAK(--ESAYIYSA(MBUL("*"&$D$2&"*";KAYDIR(DOLAYLI("'"&$A4&"'!F1"
);;;BAĞ_DEĞ_DOLU_SAY(DOLAYLI("'"&$A4&"'!F:F"))+3)))*SATIR(DOLAYLI("1:"&
BAĞ_DEĞ_DOLU_SAY(DOLAYLI("'"&$A4&"'!F:F"))+3)))-1;ARA(SÜTUN();{3;4;5\2;6;9})-2))
Dizi formülüdür. ctrl + shift + enter tuş kombinasyonu ile girişini tamamlayınız..

.
Ömer bey
Diyecek birşey kalmamış. Elinize sağlık
 
sayın ömer hocam çözüm için çok çok teşekkür ediyorum
sayın korhan hocam listedeki her şey manuel yazılıyo sonuca gidilcek yol gerekliydi
çok güzel çözüldü sorum şimdi bu formülü 134 sekmeli 27 mb lık ana dosyama uyarlama ile uğraşacam
 
Teşekkür ederim arkadaşlar..

.
 
sayın ömer hocam birşey sormak istiyorum
bu tarz çizelgelerim mevcut ve depo tarzzında bu tarz çizelgelerden yine sizlerin sayesinden çözümsel verilere ulaşıyodum

bunu nasıl yaptığınızı anlamak kendi açımdan zor ama yardımcı hücreler kullanarak yada alternatif bir başka çözümü daha varmıdır
Sayın Muygun hocam ve diğer hocalarımdan yardımcı hücrelerli çok çözümleri oluyodu.
 
sayın Ömer hocam , ali hocam , muygun hocam, Korhan Hocam
buna benzer ama daha kapsamlı bi soru daha foruma sordum
sizlerden formüllü sonuçları beklemekteyim.

bu çalışmada firmam açısından önemli yardımlarınızı bekliyorum.
 
Geri
Üst