Birleştir ve adet bazında topla

Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Selamlar;
G sütunu birleştir uygulaması örnek olarak yapılmıştır.
G sütununda uygulanmış birleştir formüllerinin isim ve ebat bazında (isimsel olarak) teke düşürülmesi ve bunlara ait D sütununda ki adetlerin isim bazında toplanması için yardımlarınızı rica ederim.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Aşağıdaki kodları bir modüle kopyalayıp dener misiniz?

Kod:
Public Sub EbatTopla()

Dim i   As Long
Dim ebt As Variant
Dim item As Variant
Dim key As Variant

With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
    For i = 4 To Cells(Rows.Count, "A").End(3).Row
        ebt = Cells(i, "A") & " " & Cells(i, "B") & " x " & Cells(i, "C")
        If Not .exists(ebt) Then
            .Add ebt, Cells(i, "D")
        Else
            .item(ebt) = .item(ebt) + Cells(i, "D")
        End If
    Next i
    
    key = .keys
    item = .items
    Range("G4").Resize(UBound(key) + 1, 1) = Application.WorksheetFunction.Transpose(key)
    Range("H4").Resize(UBound(item) + 1, 1) = Application.WorksheetFunction.Transpose(item)
End With

End Sub
 
Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Merhaba,
Aşağıdaki kodları bir modüle kopyalayıp dener misiniz?

Kod:
Public Sub EbatTopla()

Dim i   As Long
Dim ebt As Variant
Dim item As Variant
Dim key As Variant

With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
    For i = 4 To Cells(Rows.Count, "A").End(3).Row
        ebt = Cells(i, "A") & " " & Cells(i, "B") & " x " & Cells(i, "C")
        If Not .exists(ebt) Then
            .Add ebt, Cells(i, "D")
        Else
            .item(ebt) = .item(ebt) + Cells(i, "D")
        End If
    Next i
   
    key = .keys
    item = .items
    Range("G4").Resize(UBound(key) + 1, 1) = Application.WorksheetFunction.Transpose(key)
    Range("H4").Resize(UBound(item) + 1, 1) = Application.WorksheetFunction.Transpose(item)
End With

End Sub
İlginize teşekkür ederim. Excel formül yoluyla yapmamız mümkün mü? vba olarak çok fazla değişkenlik gösterecek tablo, bu kısa özetti...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
değişkenlik gösterecek derken?
 

Korhan Ayhan

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

Formüllerle çözümler.. Eski ve yeni sürümler için 2 ayrı örnek bulunmaktadır. Eğer dahada eski sürümlerde kullanılacaksa EĞERHATA bölümü revize edilmelidir.
 

Ekli dosyalar

Katılım
29 Eylül 2017
Mesajlar
110
Excel Vers. ve Dili
professional_plus_2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-06-2024
Alternatif..

Formüllerle çözümler.. Eski ve yeni sürümler için 2 ayrı örnek bulunmaktadır. Eğer dahada eski sürümlerde kullanılacaksa EĞERHATA bölümü revize edilmelidir.
Korhan bey ilginize teşekkür ederim. eski sürüm dediğiniz tam istediğim gibi olmuş. Teşekkürler.
 
Üst