• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

  • Konbuyu başlatan Konbuyu başlatan mbldn
  • Başlangıç tarihi Başlangıç tarihi
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

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
 
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 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
 
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...
 
Geri
Üst