DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
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
=TOPLA.ÇARPIM(($C$2:$L$2="A")*($C$3:$L$14))
=TOPLA.ÇARPIM(($C$2:$L$2="B")*($C$3:$L$14))
Merhaba
A içinB içinKod:=TOPLA.ÇARPIM(($C$2:$L$2="A")*($C$3:$L$14))Bu formülleri kullanabilirsinizKod:=TOPLA.ÇARPIM(($C$2:$L$2="B")*($C$3:$L$14))
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...
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...