otomatik çıktı alma

Katılım
12 Eylül 2020
Mesajlar
132
Excel Vers. ve Dili
excel 2019 ev ve iş
arkadaşlar merhaba, siparişlerimin tutulduğu bir liste var, bu listede sipariş edilen ürünlerin kodu kendine özel, fakat tekrar edebiliyor, yani 123321 kodlu ürün daha sonraki satırlarda tekrar farklı sayıda sipariş edilmiş olabiliyor, bunları birleştir toplam yapıp toplam sipariş sayısını görebiliyorum, fakat tek satır altında toplanmıyor, satırları sıkıştırarak yapıyor, ben tek satır altında toplanmasını istiyorum, yani 6 kere tekrar ettiyse o ürün kodunu bir kere yazsın fakat siparişi toplam olarak yazsın, nasıl yapabilirim?
yapmamın sebebi bu ürün kodlarına köprü bağlayıp direkt pdf dosyasına ulaşmayı, oradan da otomatik makro ile tüm sayfanın çıktısını almayı hedefliyorum, mümkün müdür?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,796
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Özet Tablo (Pivot) kullanmayı deneyebilirsiniz.
 
Katılım
12 Eylül 2020
Mesajlar
132
Excel Vers. ve Dili
excel 2019 ev ve iş
pivot mantığını tam çözemedim, 1 sütun içindeki metinde , başka bir sütunda yazan metini arayamaz mıyım?
DÜŞEYARA denedim ama hata veriyor !BAŞV
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,796
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Anlatımınıza göre en kolay yöntem özet tablodur. Tam olarak neresini çözemediniz.

Örnek dosya paylaşırsanız alternatif çözümler gelebilir.
 
Katılım
12 Eylül 2020
Mesajlar
132
Excel Vers. ve Dili
excel 2019 ev ve iş
Anlatımınıza göre en kolay yöntem özet tablodur. Tam olarak neresini çözemediniz.

Örnek dosya paylaşırsanız alternatif çözümler gelebilir.
dosya konumunu gösteren linklerin olduğu bir sütun var, sağındaki sütunda da aradığım dosyaların kodları var, en basitinden, soldaki sütun içerisinde sağdaki sütunda yazan kodlarla eşleştirip filtreleyeceğim
ek
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,796
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Emin değilim ama aşağıdaki formülü bir deneyiniz.

E4;
C++:
=DÜŞEYARA("*"&B4&"*";A:A;1;0)
 
Katılım
12 Eylül 2020
Mesajlar
132
Excel Vers. ve Dili
excel 2019 ev ve iş
Emin değilim ama aşağıdaki formülü bir deneyiniz.

E4;
C++:
=DÜŞEYARA("*"&B4&"*";A:A;1;0)
teşekkürler işe yaradı, bunu vba şeklinde yazmak daha verimli olacak gibi, çünkü veriler değişken, sürekli parça parça olabiliyor ve giren kişiler yanlışlıkla formülü değiştirebilir
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,796
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Mesaj bölümünde zaten ne yapılması gerektiği açıkça yazıyor...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,796
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Forumda son zamanlarda bu konu çok sorulmaya başlandığı için örnek bir çalışma hazırladım.

Buradaki amaç yoğun formüllerle hazırlanmış çalışmaların hesaplama sürelerini minimize etmektir. Aslında bu örnekte yapılan işlem ÖZET TABLO kullanılarak daha pratik şekilde de yapılabilir. Forumda bununla ilgili birçok örnek çalışma bulunmaktadır. Ama genellikle üyelerimiz özet tablo kullanmaktan kaçınıyorlar. Bu sebeple bu örneği hazırladım.

Uygulama detayları;

Veri adında bir sayfamız var ve bu sayfada firmaların fatura detayları bulunuyor. Biz başka bir sayfaya istediğimiz firmaların fatura toplamlarını ETOPLA formülünü kullanarak aktarmak istiyoruz.

1. Adım;
İlk olarak aktarım yapacağımız sayfada (Sayfa1) A sütununa istediğimiz firmaların adını alt alta gelecek şekilde yazıyoruz.

2. Adım;
Bu sayfanın adının üstünde sağ klik yapı KOD GÖRÜNTÜLE komutu ile kod penceresini açıyoruz ve aşağıdaki kodu bu pencereye aktarıyoruz.

Kod:
Private Sub Worksheet_Activate()
    With Range("B2:B" & Cells(Rows.Count, 1).End(3).Row)
        .Formula = "=SUMIF(Veri!A:A,A2,Veri!E:E)"
        .Value = .Value
    End With
End Sub
Bu kod Sayfa1 aktif olduğunda çalışacaktır. Siz başka sayfa olaylarına yazarak dilediğiniz gibi çalıştırabilirsiniz.

Şimdi gelelim kodu satır bazında açıklamaya;

1. Satır;
Sayfa1 aktif olduğunda kodları çalıştır.

2. Satır;
With bloğu ile formülü uygulayacağımız hücre aralığı belirliyoruz. Burada "B2:B..." aralığı tanımlanmıştır. Nokta nokta olan bölüm dinamik olarak tanımlanmıştır. Siz "A" sütununa kaç firma adı yazdıysanız hepsini dikkate alacaktır.

3. Satır;
Tanımlanan hücrelere ETOPLA formülünü bir kerede yazdırıyoruz. Bu şekilde kod çok hızlı tepki vermektedir.
Burada dikkat ederseniz formülü excel sayfasında hücreye yazdığımızda fonksiyon argümanları arasında noktalı virgül ( ; ) kullanırken bu sembol VBA tarafında normal virgül ( , ) olarak yazılmaktadır.
Aynı şekilde hücreyi boş bırakmak için kullanılan iki adet çift tırnak sembolü ( "" ) ise VBA tarafında 4 adet yazılarak ( """" ) kullanılmalıdır. Bu kurala uymazsanız hatalı sonuçlar alırsınız.


4. Satır;
Tanımlanan aralığa uyguladığımız formülü değere çeviriyoruz. Bu işlemde çok hızlı şekilde gerçekleşmektedir.

5. Satır;
With bloğunu kapatıyoruz.

6. Satır;
Sayfanın aktif olma olayını sonlandırıyoruz.

Sizlerde bu şekilde farklı formülleri değere çevirerek çalışmalarına hız kazandırabilirsiniz.

Ekteki örnek dosyada uygulamayı bulabilirsiniz.

Not : Dosyada RASTGELEARADA fonksiyonu kullanılmıştır. Bazı üyelerimizde çalışmayabilir. ARAÇLAR-EKLENTİLER menüsünden "ToolPak Çözümleyicisi" seçeneğini aktif hale getirdikten sonra dosyayı yeniden açarsanız düzelecektir.
 
Üst