otomatik veri aktarımı

Katılım
23 Ekim 2007
Mesajlar
1
Excel Vers. ve Dili
office 2003
merhabalar
data1 den data 2 ye Süzerek A B C tablolarına toplamlarının gelmesi için ne yapmam gerekiyor.

saygılar.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Merhaba,

Fonksiyonlarla yapılması biraz uzun ve dosyanızda da fazla veri varsa makro ile çözüm aramanız daha uygun olacaktır.

Bunun için aşağıdaki kodları kullanabilirsiniz.

Kod:
Sub AktarTopla()
Dim a, i, n, k, b()
Set s1 = Sheets("DATA1")
Set s2 = Sheets("DATA2")
'*******************************************
a = s1.Range("a5:e" & s1.[a65536].End(3).Row).Value
ReDim b(1 To UBound(a, 1), 1 To 6)
With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
    For i = 1 To UBound(a, 1)
            If Not IsEmpty(a(i, 1)) Then
                If Not .exists(a(i, 1)) Then
                    n = n + 1
                    b(n, 1) = n
                    b(n, 2) = a(i, 1)
                    b(n, 3) = a(i, 2)
                    .Add a(i, 1), n
                End If
                    b(.Item(a(i, 1)), 4) = b(.Item(a(i, 1)), 4) + a(i, 3)
                    b(.Item(a(i, 1)), 5) = b(.Item(a(i, 1)), 5) + a(i, 4)
                    b(.Item(a(i, 1)), 6) = b(.Item(a(i, 1)), 6) + a(i, 5)
                End If
    Next
End With
s2.Range("a6:F100").ClearContents
s2.[a6].Resize(n, 6).Value = b
'*******************************************
MsgBox "Bitti"
[a1].Select
Set s1 = Nothing
Set s2 = Nothing
End Sub
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Data2'deki B6 hücrenize

=TOPLA.ÇARPIM((DATA1!$A$5:$A$13=$A6)*(DATA1!$C$4:$E$4=B$5);DATA1!$C$5:$E$13)

yazıp sağa ve aşağı doğru çekerek tablonuzu doldurunuz.
 
Üst