@brkayahan,
@Ömer BARAN
Selamlar,
** Dosyanızdaki, Örnek olarak doldurulmuş her bir satır her bir sayfaya karşılık gelmekte...
Yani 1. satırdaki veriler RB1 sayfasındaki, 2. satırdaki veriler RB2 sayfasındaki, 3. satırdaki veriler RB3 sayfasındaki ve 4. satırdaki veriler RB4 sayfasındaki verilere karşılık gelmekte...
Eğer böyle isteniyorsa
Problem değil....
Ancak, sorunuzda
Ürün Barkoduna bağlı olarak çekilmeli (temel amacım ürün barkodunun hangi kumaş bilgisine sahip olduğunu çekmek )
ibaresi olduğundan, her bir Beden Kod Numarası için bu
verilerin tekrarlı şekilde yazılması gerektiğini düşünüyorum...
Ve, böyleyse
O zaman
Problem başlıyor....
Çünkü
METİNBİRLEŞTİR işlevinde 3D yani 'RB1:RB25'! gibi referans kullanılacaksa, ayrı ayrı (
kesintili) alanlar maalesef kullanılamıyor....
Bu durumda,
ya, her bir sayfa için ayrı ayrı alanları birleştirerek kullanmak gerekli (Örneğin METİNBİRLEŞTİR(",";0";'RB1'!A18:A22&'RB1'!$E$7;'RB2'!A18:A22&'RB2'!$E$7;......... gibi)
ki, formül oldukça can sıkıcı hale gelecektir.
Aynı zamanda sorunuzdaki isteklerde, B7, B25 ve D25 hücrelerinin BOŞ olup olmadıklarının kontrollarının yapılması ve Boş ise şöyle olsun vs gibi durumların da olduğu düşünüldüğünde formül iyice içinden çıkılamaz hale gelecektir...
ya da, her sayfadaki B7 hücresini J18:J22 ye ve de B25 / D25 hücredeki verileri de K18:K22 ye yazdırarak, Alanın
kesintisiz kullanımıyla,
yani A18 : K22 olarak kullanarak 'RB1:RB25'!A18 : K22 şeklinde yazıp METİNBİRLEŞTİR işlevi uygulanabilir... Ki, bu durumda da her bir sayfaya J18 : K22 alanına verilerin yazdırılması gerekecektir.
Ben, alanları kesintisiz yapma amacıyla, tüm sayfaların J18 : K22 aralıklarına bu bilgilerin getirilmesi işlemini yaptım.
Formülü uygulayarak aşağıdaki resimdeki gibi listeyi elde ettim.
Burada kullanılan formül, alan değişikliği hariç diğer formülle AYNI... Yani
=EĞER($A2="";"";İNDİS(EĞERHATA(XMLFİLTRELE("<a><b>"&METİNBİRLEŞTİR("</b><b>";0;
'RB1:RB25'!$A$18:$K$22)&"</b></a>";"//b");"");KAÇINCI($A2;EĞERHATA(XMLFİLTRELE("<a><b>"&METİNBİRLEŞTİR("</b><b>";0;
'RB1:RB25'!$A$18:$K$22)&"</b></a>";"//b");"");0)
+1))
Burada +1 : Renk, +2 : Alış Fiyatı, +3 : Beden, +4 : Adet, +5 : Lot, +10 : Kumaş Bilgisi ve +9 : Örme / Dokuma.
Dosyanız ektedir...
ÖNEMLİ Not :
1 - Gerek XMLFİLTRELE ve gerekse METİNBİRLEŞTİR ile fazla miktarda veri birleştirilmesi ve aktarılması söz konusu olmaya başlıyor bu durumda.
Dolayısıyla, dosyanızda yavaşlamalar / kasılmalar olabilecektir.
2 - Her sayfanın J18 : K22 aralığına Kumaş ve Örme/dokuma Bilgilerini aktaramam ya da formülde de her syfa için aralıkları tek tek yazamam diyebilirsiniz.
Bu durumda,
en uygun çözüm makro ile çözüm olacaktır.
@Ömer BARAN Bey'in makro kodlarını kullanmanızı
tavsiye ediyorum...