Sütun Başlığındaki Değere Göre Toplam Alma

Katılım
7 Mart 2011
Mesajlar
184
Excel Vers. ve Dili
2007 TR
arkadaşlar günaydın;
ekteki dosyada da görebileceğiniz gibi amaç sütun başlıklarında bulunan değere göre tabloda toplam almak. sütunlrada 2 tane değişken veri var bunlar A ve B
Toplam A lar ve Toplam B ler gerekli
saygılar
 

Ekli dosyalar

İ

İhsan Tank

Misafir
arkadaşlar günaydın;
ekteki dosyada da görebileceğiniz gibi amaç sütun başlıklarında bulunan değere göre tabloda toplam almak. sütunlrada 2 tane değişken veri var bunlar A ve B
Toplam A lar ve Toplam B ler gerekli
saygılar
Merhaba
A için
Kod:
=TOPLA.ÇARPIM(($C$2:$L$2="A")*($C$3:$L$14))
B için
Kod:
=TOPLA.ÇARPIM(($C$2:$L$2="B")*($C$3:$L$14))
Bu formülleri kullanabilirsiniz
 
Katılım
7 Mart 2011
Mesajlar
184
Excel Vers. ve Dili
2007 TR
Rica ederim
:yazici:
İhsan Bey Tekrar Merhaba;
topla çarpım formülü olduğu için sanırım, veriler arttıkça çalışma bir hayli yavaşladı. formülle değil de makro ile yapsak yavaşlamayı bir nebze olsun kesebilir miyiz?
makro ile yapmaya kalktığımızda yazılması gereken makro kodu nasıl olmalıdır.
saygılar...
 
İ

İhsan Tank

Misafir
İhsan Bey Tekrar Merhaba;
topla çarpım formülü olduğu için sanırım, veriler arttıkça çalışma bir hayli yavaşladı. formülle değil de makro ile yapsak yavaşlamayı bir nebze olsun kesebilir miyiz?
makro ile yapmaya kalktığımızda yazılması gereken makro kodu nasıl olmalıdır.
saygılar...
Merhaba
Boş bir module kopyalayın ve deneyin
Kod:
Option Explicit
Sub topla()
Dim ts, kaplan, trabzonspor, bordo
kaplan = MsgBox("Sütun Karşılıklarını Topluyorum", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
Application.ScreenUpdating = False
Range("N4:O4") = 0
For ts = 3 To 12
trabzonspor = Cells(65536, ts).End(xlUp).Row
If ts = 3 Then
bordo = "C"
End If
If ts = 4 Then bordo = "D"
If ts = 5 Then bordo = "E"
If ts = 6 Then bordo = "F"
If ts = 7 Then bordo = "G"
If ts = 8 Then bordo = "H"
If ts = 9 Then bordo = "I"
If ts = 10 Then bordo = "J"
If ts = 11 Then bordo = "K"
If ts = 12 Then bordo = "L"
If Cells(2, ts) = "A" Then
Range("N4") = Range("N4") + WorksheetFunction.Sum( _
Range(bordo & 3 & ":" & bordo & trabzonspor))
ElseIf Cells(2, ts) = "B" Then
Range("O4") = Range("O4") + WorksheetFunction.Sum( _
Range(bordo & 3 & ":" & bordo & trabzonspor))
End If
Next
Application.ScreenUpdating = True
MsgBox "Sütun Karşılıklarını Topladım", vbInformation, "Bitiş"
End Sub
 
Katılım
7 Mart 2011
Mesajlar
184
Excel Vers. ve Dili
2007 TR
Merhaba
Boş bir module kopyalayın ve deneyin
Kod:
Option Explicit
Sub topla()
Dim ts, kaplan, trabzonspor, bordo
kaplan = MsgBox("Sütun Karşılıklarını Topluyorum", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
Application.ScreenUpdating = False
Range("N4:O4") = 0
For ts = 3 To 12
trabzonspor = Cells(65536, ts).End(xlUp).Row
If ts = 3 Then
bordo = "C"
End If
If ts = 4 Then bordo = "D"
If ts = 5 Then bordo = "E"
If ts = 6 Then bordo = "F"
If ts = 7 Then bordo = "G"
If ts = 8 Then bordo = "H"
If ts = 9 Then bordo = "I"
If ts = 10 Then bordo = "J"
If ts = 11 Then bordo = "K"
If ts = 12 Then bordo = "L"
If Cells(2, ts) = "A" Then
Range("N4") = Range("N4") + WorksheetFunction.Sum( _
Range(bordo & 3 & ":" & bordo & trabzonspor))
ElseIf Cells(2, ts) = "B" Then
Range("O4") = Range("O4") + WorksheetFunction.Sum( _
Range(bordo & 3 & ":" & bordo & trabzonspor))
End If
Next
Application.ScreenUpdating = True
MsgBox "Sütun Karşılıklarını Topladım", vbInformation, "Bitiş"
End Sub
Ancak dönüş yapabildim.
Teşekkürler İhsan Bey
Saygılar...
 
Üst