Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktionen in VBA

Funktionen in VBA
05.11.2007 11:39:00
Melanie
Hallo zusammen,
ich hab nicht die wahnsinnige Erfahrung mit selber geschriebenen Funktionen, daher hoffe ich, dass ihr mir helfen könnt. Ich würde gerne die Summewenn() Funktion aus dem Standard-Excel über VBA "nachschreiben". Das ganze soll dann aber so modifiziert werden, dass ich mehrere Suchkriterien eingeben kann. Am besten als Liste mit Semikolon abgetrennt.
Ich weiß, dass man das auch mit Summenprodukt machen kann oder indem man die einzelnen Summewenn Funktionen addiert, aber ich hätte es gerne übersichtlicher. Daher dachte ich man kann die Funktion ja auch versuchen selbst zu schreiben...
Im Voraus besten Dank für Eure Vorschläge!
Grüße, Melanie

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktionen in VBA
05.11.2007 11:58:00
Tino
Hallo,
hier mal ein Beispiel mit Zählenwenn, vieleicht bringt dich dies weiter.

Function MeineSumme(Bereich As Range, arg1 As String, Optional arg2 As String)
Dim Anzahl As Long
Anzahl = Application.WorksheetFunction.CountIf(Bereich, arg1)
If arg2 > "" Then
Anzahl = Anzahl + Application.WorksheetFunction.CountIf(Bereich, arg2)
End If
MeineSumme = Anzahl
End Function


Gruss
Tino

AW: Funktionen in VBA
05.11.2007 12:18:00
Tino
Hallo,
hier noch ein Beispiel mit Summewenn

Option Explicit
'hier mit Summe wenn
'Bereich ist der SummenBereich
'SummenBereich ist der Bereich der addiert wird bei Übereinstimmung
'arg1 ist der zu suchende Bergriff
'arg2 ist der zweite Suchbegriff aber optional muss nicht angegeben werden
'in der Zelle steht zBsp.: =MeineSumme(A:B;B:B;"Test";"Test1")
Function MeineSumme(Bereich As Range, SummenBereich As Range, arg1 As String, Optional arg2 As  _
String)
Dim Anzahl As Long
Anzahl = Application.WorksheetFunction.SumIf(Bereich, arg1, SummenBereich)
If arg2 > "" Then
Anzahl = Anzahl + Application.WorksheetFunction.SumIf(Bereich, arg2, SummenBereich)
End If
MeineSumme = Anzahl
End Function


Viel Spaß
Gruss
Tino

Anzeige
Danke!
05.11.2007 12:58:00
Melanie
Genau was ich gesucht habe!!! Vielen Dank!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige