Verileri Başka Sayfaya Özetleme

  • Konuyu başlatan Konuyu başlatan selis
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

selis

Kullanıcı
Katılım
17 Mar 2021
Mesajlar
721
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Verileri Başka Sayfaya Özetleme isimli içerikte, ilgili soruya nasıl çözüm sunulacağına dair cevaplar beklenmektedir.

Herkese merhabalar arkadaslar,

Ekteki excelde sunu yapmak istiyorum ; MIP SAYFASINDAKİ A sütunundaki verileri ince orta kalın malzemeler diye ayırıp B sütunundaki değerleri toplayıp ÖZET sayfasına yazsın ıstıyorum ekin ÖZET sayfasında istediğim seyı acıklamaya calıstım.
ÖZET sayfasındaki formata getirilecek degerler diğer profiller dediği ise verilen aralıgın dısında kalanlar L30X30X3 - L60X60X5 Arası İnce Grup-L300X300X35.
Şimdiden herkese teşekkürler...
 

Ekli dosyalar

Çözüm
16 numaralı mesajınıza cevaben verdiğim yukarıdaki cevapta sorun yok.
Ancak örnek belgenizde Grand Total satırı yerine "Grand " satırı var.
Bu durumda ilgili kod kısmını şöyle değiştirmek gerekir.


VBA:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)

Ayrıca; ÖZET sayfasındaki GENEL TOPLAM satırı 7'inci satır olduğuna göre;
koddaki o.[B2:B6].ClearContents ve o.Cells(6, 2) = o.Cells(6, 2) + m.Cells(XD, 2) satırlarındaki 6 sayılarını 7 olarak değiştirin.
Formülle çözüm önerim şöyle:
-- Aşağıdaki birinci formülü MIP sayfası T8 hücresine uygulayıp liste boyunca kopyalayın (yardımcı alan).
-- Aşağıdaki ikinci formülü de ÖZET sayfası B2 hücresine uygulayıp, B5 hücresine kadar kopyalayın.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(2 satır)
 
İlk formüldeki (kritik olan bu formül zaten) hareket noktası
L40X40X4-S235JR ....... L150X150X14-S355J2 gibi ibarelerde ikinci X ile - işareti arasında kalan sayının tespit edilmesi.
Örneğin bunlardan birincisi için bu değer 4, ikincisi için ise 14.
Bu sonucu da ARA işlevinde ARANAN olarak kullanarak {1;6;13} dizisinden hangisine denk geliyorsa,
{1;2;3} dizisinde buna karşılık gelen elemanın hangisi olduğu bulunuyor.
Örneğe göre;
-- birincisi için ARANAN 4, ARAMA DİZİSİnin 1'inci elemanına denk geliyor, sonuç dizisinin 1'inci elemanı da 1 (sonuç)
-- ikincisi için ARANAN 14, ARAMA DİZİSİnin 3'üncü elemanına denk geliyor, sonuç dizisinin 3'üncü elemanı da 3 (sonuç)
Son olarak da bu SONUÇ değerlere göre ETOPLA işlemi yapılıyor ve kriter olarak SATIR()-1 kullanılıyor.

Umarım açıklayıcı olmuştur.

Uyarı: Dikkat ederseniz ikinci X'ten sonraki kısımdan hareket edildi yani, L40X40X veya L150X150X kısmıyla ilgilenilmedi.
 
@selis
Son örnek belgeye bakmadım.

İlk belgede tüm verilerde L100X100X10-S355J2 gibi arada TİRE işareti ve sonrasında harf/sayı da var idi.
Son belgenizde ise sadece tire öncesi kısım var.
Bu nedenle formülü şöyle değiştirin.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(4 satır)
 
Hocam oldu cok teşekkür ediyorum yalnızca şunu sormak istiyorum, kod ile bunu yapmak mümkün mü nasıl yapabiliriiz?
 
Şöyle olabilir.
Kod 8 - 68'inci satır aralığındaki verileri kontrol eder ve ÖZET sayfasında sonuçları gösterir.
Formül cevabı verirken belirttiğim kriterler burada da geçerli.
L ile başlamayanlar 4, L ile başlayanlar, ikinci X'in sağındaki sayıya göre değerlendirilir.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(12 satır)
 
Hocam 68 değilde grand totale kadar alsa olur mu çünkü 68 100 bazen 200 olabiliyor, grand totale kadar alsa daha iyi olur.
 
Koddaki 68 yerine WorksheetFunction.Match("Grand Total", m.[A:A], 0) - 1 yazılması yeterli olur.
Önceki koddaki cevabımı buna göre güncelledim.
 
1631175050212.webp

Hocam böyle bır hata verdı
 

Ekli dosyalar

16 numaralı mesajınıza cevaben verdiğim yukarıdaki cevapta sorun yok.
Ancak örnek belgenizde Grand Total satırı yerine "Grand " satırı var.
Bu durumda ilgili kod kısmını şöyle değiştirmek gerekir.


VBA:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)

Ayrıca; ÖZET sayfasındaki GENEL TOPLAM satırı 7'inci satır olduğuna göre;
koddaki o.[B2:B6].ClearContents ve o.Cells(6, 2) = o.Cells(6, 2) + m.Cells(XD, 2) satırlarındaki 6 sayılarını 7 olarak değiştirin.
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt