makro ile SUMPRODUCT tablo nasıl olur

Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
formda aradım bir örnek buldum fakat kendi tabloma uyarlayamadım

yardımcı olacaklara şimdiden çok teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

Kod:
Sub verial()
Set s1 = Sheets("sayfa2")
For a = 6 To [c65536].End(3).Row
For b = 5 To [IV5].End(xlToLeft).Column Step 2
sut = WorksheetFunction.Match(Cells(5, b), s1.[5:5], 0)
Cells(a, b) = WorksheetFunction.SumIf(s1.Columns(3), Cells(a, "c"), s1.Columns(sut))
Next
Next
End Sub
 
Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
sn levent beyin yazdığı makro yu ekteki tabloya

uyarlayamadım ayrıca bir ilave daha yaptım

yeni tablo ekte

yardımcı olcaklara şimdiden teşekkürler
 

Korhan Ayhan

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

Sn. leventm beyin önermiş olduğu kodu aşağıdaki şekilde değiştirerek denermisiniz.

Kod:
Sub AKTAR()
    Set SP = Sheets("PLAN")
    Set SMS = Sheets("MSTOK")
    Set SAS = Sheets("ASTOK")
    For X = 4 To SP.[C65536].End(3).Row
    If SP.Cells(X, 3) <> "" Then
    For Y = 11 To SP.[IV1].End(1).Column
    If SP.Cells(1, Y) Like "*" & 2 & "*" Then
    S&#252;tun = WorksheetFunction.Match(SP.Cells(1, Y), SMS.[1:1], 0)
    SP.Cells(X, Y) = WorksheetFunction.SumIf(SMS.Columns(3), SP.Cells(X, 3), SMS.Columns(S&#252;tun))
    ElseIf SP.Cells(1, Y) Like "*" & 3 & "*" Then
    S&#252;tun = WorksheetFunction.Match(SP.Cells(1, Y), SAS.[1:1], 0)
    SP.Cells(X, Y) = WorksheetFunction.SumIf(SAS.Columns(2), SP.Cells(X, 3), SAS.Columns(S&#252;tun))
    End If
    Next
    End If
    Next
    Set SP = Nothing
    Set SMS = Nothing
    Set SAS = Nothing
    MsgBox "&#304;&#350;LEM&#304;N&#304;Z TAMAMLANMI&#350;TIR.", vbInformation
End Sub
 
Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
Sn cost control vermiş olduğunuz kodları dosyaya uyarladım
fakat 400 bir hata veriyor

dosyanın uyarlanmış halinin küçük bir bölümü ek te

teşekkürler
 

Korhan Ayhan

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

Kodu a&#351;a&#287;&#305;daki &#351;ekilde de&#287;i&#351;tirip denermisiniz.

Kod:
Sub AKTAR()
    Application.ScreenUpdating = False
    Set SP = Sheets("PLAN")
    Set SMS = Sheets("MSTOK")
    Set SAS = Sheets("ASTOK")
    For X = 4 To SP.[C65536].End(3).Row
    If SP.Cells(X, 3) <> "" Then
    If SP.Cells(X, 3) <> "Stok" Then
    For Y = 11 To SP.[IV1].End(1).Column
    If SP.Cells(1, Y) Like "*" & 2 & "*" Then
    Set S&#252;tun = SMS.[1:1].Find(SP.Cells(1, Y), LookAt:=xlWhole)
    If Not S&#252;tun Is Nothing Then
    S&#252;tun = S&#252;tun.Column
    SP.Cells(X, Y) = WorksheetFunction.SumIf(SMS.Columns(3), SP.Cells(X, 3), SMS.Columns(S&#252;tun))
    End If
    ElseIf SP.Cells(1, Y) Like "*" & 3 & "*" Then
    Set S&#252;tun = SAS.[1:1].Find(SP.Cells(1, Y), LookAt:=xlWhole)
    If Not S&#252;tun Is Nothing Then
    S&#252;tun = S&#252;tun.Column
    SP.Cells(X, Y) = WorksheetFunction.SumIf(SAS.Columns(2), SP.Cells(X, 3), SAS.Columns(S&#252;tun))
    End If
    End If
    Next
    End If
    End If
    Next
    Set SP = Nothing
    Set SMS = Nothing
    Set SAS = Nothing
    Application.ScreenUpdating = True
    MsgBox "&#304;&#350;LEM&#304;N&#304;Z TAMAMLANMI&#350;TIR.", vbInformation
End Sub
 
Son düzenleme:
Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
sn cost control verdiğiniz kodlar çalışıyor
fakat tablo çok büyük olduğu için makro çakılıyor
bunu nasıl kısaltabiliriz veya çözebilirz.

colon 1:110
satır 4 :260

teşekkürler birde plan tablosunda ismi olupta
mstok ve astok ismi olmayanlanlara da data getiyor

teşekkürler
 

Korhan Ayhan

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

Getirmemesi gerekipte getirdi&#287;i dataya &#246;rnek verirmisiniz.

Ayr&#305;ca bu kadar &#231;ok s&#252;tunlu veri alan&#305;nda yava&#351; &#231;al&#305;&#351;mas&#305; normaldir. Fakat biraz daha h&#305;zland&#305;rmak i&#231;in &#252;stteki mesaj&#305;mdaki kodu g&#252;ncelledim.
 
Katılım
6 Mart 2007
Mesajlar
76
Excel Vers. ve Dili
xp ingilizce
sn cost control

sizin kodu güncellediğim dosya ekte

burada gökhan ait kolonlar

mstok ve astok dosyasında yok

olmasına rağmen getiryor

yeni kodları göremedim
 

Korhan Ayhan

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

Bu ba&#351;l&#305;ktaki 10. mesaj&#305;mdaki kodu g&#252;ncelledim. &#304;ncelermisiniz.
 
Üst