Iki aynı isimi birleştirme sorunu ?

Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
Merhaba arkadaşlar. Elimde bir dosya var. Bu dosya iki sayfadan oluşmaktadır.
"toplamlar" ve "genel ürünler" isimli iki sayfalı bir dosya. genel ürünler sayfasında ürünlerin geldiği miktarlar tutarlar vb. bilgiler yer almaktadır.şimdi sorun şu. genel ürünler sayfasında bir üründen birden fazla olabilmektedir. o ürün bu ay içinde 5 defa geldiyse ister farklı fiyata gelsin ister aynı fiyata gelsin ürünün geldiği sayı kadar alt alta isimi ,barkodu ve miktarları bulunmakta. çözmek istediğim nokta ise toplamlar sayfasında bana her ürünü tek satırda ve miktarlarıda toplamları alınmış şekilde yazacak. mesela şöyle ;

genel ürünler sayfasından bir örnek ;

Barkodu Ürün Adı Birimi Gelen Satılan
8697459720089 12Lİ MAVİ BEYAZ TUV. KAĞ. Adet 10 7
8697459720089 12Lİ MAVİ BEYAZ TUV. KAĞ. Adet 20 16

bunu toplamlar sayfasında tek satırda ama gelen miktar ve satılan miktarların toplamı alınmış şekilde gösterecek. kaç tane olursa olsun toplamlar sayfasında bunu tek satırda gösterecek. İlginiz için şimdiden teşekkür ediyorum.
 

Ekli dosyalar

İ

İhsan Tank

Misafir
Merhaba arkadaşlar. Elimde bir dosya var. Bu dosya iki sayfadan oluşmaktadır.
"toplamlar" ve "genel ürünler" isimli iki sayfalı bir dosya. genel ürünler sayfasında ürünlerin geldiği miktarlar tutarlar vb. bilgiler yer almaktadır.şimdi sorun şu. genel ürünler sayfasında bir üründen birden fazla olabilmektedir. o ürün bu ay içinde 5 defa geldiyse ister farklı fiyata gelsin ister aynı fiyata gelsin ürünün geldiği sayı kadar alt alta isimi ,barkodu ve miktarları bulunmakta. çözmek istediğim nokta ise toplamlar sayfasında bana her ürünü tek satırda ve miktarlarıda toplamları alınmış şekilde yazacak. mesela şöyle ;

genel ürünler sayfasından bir örnek ;

Barkodu Ürün Adı Birimi Gelen Satılan
8697459720089 12Lİ MAVİ BEYAZ TUV. KAĞ. Adet 10 7
8697459720089 12Lİ MAVİ BEYAZ TUV. KAĞ. Adet 20 16

bunu toplamlar sayfasında tek satırda ama gelen miktar ve satılan miktarların toplamı alınmış şekilde gösterecek. kaç tane olursa olsun toplamlar sayfasında bunu tek satırda gösterecek. İlginiz için şimdiden teşekkür ediyorum.
merhaba
B2 hücresine
Kod:
=EĞER(A2="";"";DÜŞEYARA(A2;'genel ürün'!$A$2:$E$74;2;0))
C2 hücresine
Kod:
=EĞER(A2="";"";ETOPLA('genel ürün'!$B:$B;$B2;'genel ürün'!D:D))
D2 hücresine
Kod:
=EĞER(B2="";"";ETOPLA('genel ürün'!$B:$B;$B2;'genel ürün'!E:E))
bu formülleri yazın ve aşağıya doğru çekin.
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
İhsan kardeş merhaba. Sana bu tablo ile ilgili bir sorum daha olacak. Şimdi ben toplamlar sayfasına barkodları tek tek yazmak zorunda kalıyorum veya genel ürünler sayfasından kopyalamak zorunda kalıyorum. Şimdi şöyle bir formül olabilir mi acaba ? toplamlar sayfadında barkodların yazılması gereken yerin başlangıcı olan a2 hücresine bir formül yazacağız ki bu formül genel ürünler sayfasındaki a2 satırından başlayarak aşağıya doğru her bir barkoddan bir tane yazacak ( aynı üründen alt alta 2-3 tane olan üründe var o yüzden ) formülü aşağı doğru çektikçe toplamlar sayfasında genel ürünler sayfasının barkodlarından 1 er tane yazacak. aynı barkodu 2 defa yazmayacak. tek eksik bu kaldı.binlerce ürün var tek tek çok zor hatta imkansız oluyor. ilgin için teşekkürler kardeş.
 
İ

İhsan Tank

Misafir
İhsan kardeş merhaba. Sana bu tablo ile ilgili bir sorum daha olacak. Şimdi ben toplamlar sayfasına barkodları tek tek yazmak zorunda kalıyorum veya genel ürünler sayfasından kopyalamak zorunda kalıyorum. Şimdi şöyle bir formül olabilir mi acaba ? toplamlar sayfadında barkodların yazılması gereken yerin başlangıcı olan a2 hücresine bir formül yazacağız ki bu formül genel ürünler sayfasındaki a2 satırından başlayarak aşağıya doğru her bir barkoddan bir tane yazacak ( aynı üründen alt alta 2-3 tane olan üründe var o yüzden ) formülü aşağı doğru çektikçe toplamlar sayfasında genel ürünler sayfasının barkodlarından 1 er tane yazacak. aynı barkodu 2 defa yazmayacak. tek eksik bu kaldı.binlerce ürün var tek tek çok zor hatta imkansız oluyor. ilgin için teşekkürler kardeş.
merhaba
bunu formülle yapmak dosyanızı biraz kasacaktır.
sarı boyalı alandaki formüller dizi formüldür. ayrıca E1 hücresindeki formülü silmeyiniz buda dizi formülüdür.
Dizi Formülü Formül Hücreye Girildikten Sonra Enter Tuşuna Basmadan Ctrl+Shift+Enter Tuş Kombinasyonu İle Aktif Olmaktadır. Formülün Başında Ve Sonunda { } Bu İşaretler Çıkar Elle Eklediğiniz Takdirde Formül Hata Verir.
dizi formüllerinde 1000 satır baz alınmıştır.
1000 satır'ı değiştirmek için ctrl+h yapın aranan değere $1000 yeni değere $10000 yazın ve tümünü değiştir deyin.
$10000 olan yeri kendinize göre ayarlayınız.
 

Ekli dosyalar

Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
İhsan bey ilginiz için gerçekten çok teşekkür ederim ama bir sorun var. bu tablo yaklaşık 2500 ürünü genel ürünler sayfasında yapıştırınca kilitleniyor excel. toplamlar sayfası işlem yaptığı için kilitleniyor sanırım. ama tam 50 dk bekledim bitiremedi işlemi. bu formülü başka bir şekilde yapamaz mıyız ? exceli baya kasıyor kardeş. Teşekkürler şimdiden.
 
İ

İhsan Tank

Misafir
İhsan bey dosyayı ekliyorum incelerseniz sevinirim. Teşekkürler şimdiden..
merhaba
uyarmıştım böyle bir şey olacak diye
boş bir module
Kod:
Option Explicit
Sub müksil_karşılık_topla()
Dim sat, son, r, aranan1, a, asi
asi = MsgBox("Verileri Tek'e Düşürüp Topluyorum Onaylıyor Musunuz", _
vbYesNo, "Onay")
If asi = vbNo Then Exit Sub
Sheets("toplamlar").Range("A2:F65536").ClearContents
sat = 2
son = Worksheets("genel ürün").Cells(Rows.Count, "a").End(3).Row
For r = 2 To son
aranan1 = Sheets("genel ürün").Cells(r, "a").Value
If Sheets("genel ürün").Cells(r, "a").Value <> "" Then
If WorksheetFunction.CountIf(Worksheets("genel ürün").Range("a1:a" & r), aranan1) = 1 Then
Sheets("toplamlar").Cells(sat, "a").Value = Sheets("genel ürün").Cells(r, "a").Value
sat = sat + 1
End If
End If
Next r
For a = 2 To Sheets("toplamlar").Cells(65536, "A").End(xlUp).Row
Sheets("toplamlar").Cells(a, "B") = WorksheetFunction.VLookup(Sheets("toplamlar").Range("A" & a).Value, _
Sheets("genel ürün").Range("A:B"), 2, 0)
Sheets("toplamlar").Cells(a, "C") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("B:B"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("D:D"))
Sheets("toplamlar").Cells(a, "D") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("B:B"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("E:E"))
Sheets("toplamlar").Cells(a, "E") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("B:B"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("F:F"))
Sheets("toplamlar").Cells(a, "F") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("B:B"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("G:G"))
Next a
MsgBox "Veriler Tek'te Ayrıca Toplamlar Çıkarıldı", vbInformation, "Bitiş"
End Sub
bu kodu kopyalayınız ve buton'a atayıp kullanınız
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
boş bir modüle derken ihsan bey ? tam anlamadım orasını. az daha detaylı söyler misiniz tam olarak ne yapacağımı çok teşekkürler.
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
söylediğinizi yaptım ihsan bey ama şurda hata veriyor sarı renkli olarak

Sheets("toplamlar").Cells(a, "B") = WorksheetFunction.VLookup(Sheets("toplamlar").Range("A" & a).Value, _
Sheets("genel ürün").Range("A:B"), 2, 0)

run time error 1004 worksheetfunction sınıfının vlookup özelliği alınamıyor diyor..
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
floof yapmak istemezdim ama mecbur kalıyorum ihsan bey o hata bana bir zarar vermedi ama şimdi tek sorun şu sanırım barkodları tek tek yerleştiriyor a2 hücresinden itibaren ama barkodlar 7,6130314E+12 şeklinde çıkıyor biçimden her şeyi denedim ama olmuyor. ama bu barkodu elle yazarsam veya diğer tablodan kopyalayıp yapıştrırırsam düzeliyor. bunuda halledebilir miyiz ? teşekkür ediyorum.
 
İ

İhsan Tank

Misafir
yarım saatte 3 mesaj mükemmel bir ortalama olmuş.
bir de yazdıklarınızdan bir şey anlasaydım tam olacaktı.
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
kusura bakmayın ihsan bey yapamadıklarımı yapınca yeniden yazmak zorunda kaldım.
şimdiki tek sorun ise şu ; a2 hücresinden itibaren barkodlar 7,6130314E+12 şeklinde çıkıyor biçimden her şeyi denedim ama olmuyor. ama bu barkodu elle yazarsam veya diğer tablodan kopyalayıp yapıştrırırsam düzeliyor. bunuda halledebilir miyiz ?
 
İ

İhsan Tank

Misafir
bende böyle bir şey olmadı.
sizin son eklediğiniz dosyada yaptığım işlemleri sırası ile yazayım siz de ona göre deneyin.
Kantinin Ürünleri su sayfadaki verileri kopyaladım - bu sayfaya yapıştırdım sonra kod'u çalıştırdım gayet güzel çalışıyor

kod'u bununla değişin
Kod:
Option Explicit
Sub müksil_karşılık_topla()
Dim sat, son, r, aranan1, a, asi
asi = MsgBox("Verileri Tek'e Düşürüp Topluyorum Onaylıyor Musunuz", _
vbYesNo, "Onay")
If asi = vbNo Then Exit Sub
Sheets("toplamlar").Range("A2:F65536").ClearContents
sat = 2
son = Worksheets("genel ürün").Cells(Rows.Count, "a").End(3).Row
For r = 2 To son
aranan1 = Sheets("genel ürün").Cells(r, "a").Value
If Sheets("genel ürün").Cells(r, "a").Value <> "" Then
If WorksheetFunction.CountIf(Worksheets("genel ürün").Range("a1:a" & r), aranan1) = 1 Then
Sheets("toplamlar").Cells(sat, "a").Value = Sheets("genel ürün").Cells(r, "a").Value
sat = sat + 1
End If
End If
Next r
For a = 2 To Sheets("toplamlar").Cells(65536, "A").End(xlUp).Row
Sheets("toplamlar").Cells(a, "B") = WorksheetFunction.VLookup(Sheets("toplamlar").Range("A" & a).Value, _
Sheets("genel ürün").Range("A:B"), 2, 0)
Sheets("toplamlar").Cells(a, "C") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("A:A"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("D:D"))
Sheets("toplamlar").Cells(a, "D") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("A:A"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("E:E"))
Sheets("toplamlar").Cells(a, "E") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("A:A"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("F:F"))
Sheets("toplamlar").Cells(a, "F") = WorksheetFunction.SumIf(Sheets("genel ürün").Range("A:A"), _
Sheets("toplamlar").Range("A" & a).Value, Sheets("genel ürün").Range("G:G"))
Next a
MsgBox "Veriler Tek'te Ayrıca Toplamlar Çıkarıldı", vbInformation, "Bitiş"
End Sub
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
İhsan bey şimdi tek mesajda sorunu anlatacağım size :)

birincisi kodu çalıştırırken " run time error 1004 worksheetfunction sınıfının vlookup özelliği alınamıyor" diyor.. " debug veya and diyorum. debug dediğimde hatayı gösteriyor sarı renk ile.

sonra excel sayfasına dönüyorum ve formüle bakıyorum ama resimde göründüğü gibi oluyor. ofis 2003 kullanıyorum 2007 de de aynısı oldu.

sizde nasıl sorunsuz çalışıyor anlamıyorum ?
 

Ekli dosyalar

Son düzenleme:
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
İhsan bey olmazsa şöyle yapalım barkoddan değilde isimden birleştirme yapalım. barkodları düşeyara ile atarım ben A sütununa..
 
Katılım
4 Eylül 2007
Mesajlar
56
Excel Vers. ve Dili
beta
Ziya bey sizin gönderdiğiniz tablo olmuş. ben toplamlar sayfasındaki verileri sildim yeniden çalıştırdım kodları oldu. Ama ben genel ürünler tablosuna yeni ürün ekledim ve yeniden çalıştırdım kodları ama sizin hazırlamış olduğunuz yerlerin yani 13. satır kadar barkod ve ürün ismi doğru çıkıyor gerisi yine örnek olarak 123456789+12 şeklinde ve isimsiz çıkıyor ? office 2003 kullanıyorum. dediğiniz gibi metinede çevirdim her şeyi denedim olmuyor...siz nasıl yaptınız ? Kantin başkanı soruyor dosya ne oldu diye. ( Ulaştırma Albay )..

Onb.Ahmet KOCA
Kıbrıs/Girne Merkez Kantin Başkanlığı
 
Son düzenleme:
Katılım
28 Aralık 2013
Mesajlar
1
Excel Vers. ve Dili
excel 2007
merhaba
B2 hücresine
Kod:
=EĞER(A2="";"";DÜŞEYARA(A2;'genel ürün'!$A$2:$E$74;2;0))
C2 hücresine
Kod:
=EĞER(A2="";"";ETOPLA('genel ürün'!$B:$B;$B2;'genel ürün'!D:D))
D2 hücresine
Kod:
=EĞER(B2="";"";ETOPLA('genel ürün'!$B:$B;$B2;'genel ürün'!E:E))
bu formülleri yazın ve aşağıya doğru çekin.
merhaba buna benzer bir sorun şuan bende yaşıyorum verdiğiniz bu kodları nasıl yazacağımı tam bilmiyorum.Aynı zamanda ben sadece A stununda barkodlar B stununda adet sayısı olarak kullanıyorum aynı barkoda sahip ürünler alt alta sıralanmakta bunları aynı çatı altında adetleriyle birlikte nasıl birleştirebilirim bana yardımcı olabilirmisiniz.
 
Üst