Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: statische CountIf-Funktion in dynamisch umwandeln?

statische CountIf-Funktion in dynamisch umwandeln?
07.04.2015 11:24:45
Robert
Hallo,
ich habe eine statische Funktion die mir die Anzahl verschiedener Kostenstellen in einer Spalte berechnet:
anzahlKostenstellen = Evaluate("=Sum(If(F2:F1293"""",1/CountIf(F2:F1293,F2:F1293)))")

Diese Funktion möchte ich nun so umändern, dass ich Spalte und Zeilenende vorgebe. Die gesucht Spalte (Dim spalteKostenstelle As Integer) und das gesuchte Zeilenende (Dim letzteZeile As Integer) habe ich mir bereits errechnet. Aber wie bekomme ich diese Variablen in die Funktion?
Ich habe es bereits für F2:F1293 folgendes probiert:
Range(Cells(2, spalteKostenstelle), Cells(letzteZeile, spalteKostenstelle))
Das sieht dann so aus:
anzahlKostenstellen = Evaluate("=Sum(If(Range(Cells(2, spalteKostenstelle), Cells(letzteZeile, spalteKostenstelle))"""",1/CountIf(Range(Cells(2, spalteKostenstelle), Cells(letzteZeile, spalteKostenstelle)),Range(Cells(2, spalteKostenstelle), Cells(letzteZeile, spalteKostenstelle)))))")
Dann kommt aber der Fehler "Laufzeitfehler 13 - Typen unverträglich"
Kann jemand helfen?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: statische CountIf-Funktion in dynamisch umwandeln?
07.04.2015 11:30:01
Born
Hallo Robert,
kommt der Fehler auch, wenn Du nur einen der beiden Parameter dynamisch machst, den anderen aber erstmal statisch lässt? SInd die beiden Variablen vor dem Aufruf der Funktion schon mit einem Wert belegt?
Viele Grüße,
M. Born

AW: statische CountIf-Funktion in dynamisch umwandeln?
07.04.2015 11:36:37
Robert
Hi Born,
also die beiden dynamischen Werte werden vorher belegt und sind somit vorhanden. Meinst Du anstelle von "letzteZeile" einen festen Wert eintragen damit nur noch spalteKostenstelle dynamisch ist z.B. so:
anzahlKostenstellen = Evaluate("=Sum(If(Range(Cells(2, spalteKostenstelle), Cells(1293, spalteKostenstelle))"""",1/CountIf(Range(Cells(2, spalteKostenstelle), Cells(1293, spalteKostenstelle)),Range(Cells(2, spalteKostenstelle), Cells(1293, spalteKostenstelle)))))")
Es kommt immernoch die gleiche Fehlermeldung :-(

Anzeige
AW: statische CountIf-Funktion in dynamisch umwandeln?
07.04.2015 11:38:35
Born
Hallo Robert,
genau das meinte ich. Probiere mal dasselbe, indem Du jetzt die andere Variable nutzt und so Dich Schritt für Schritt an den Fehler herantastest.
Viele Grüße,
M. Born

AW: statische CountIf-Funktion in dynamisch umwandeln?
07.04.2015 11:41:40
Daniel
Hi
für das Evaluate brauchst du den Textstring in genau dieser Form mit der A1-Addressierung.
am einfachsten gehts so:
erstelle erstmal den Formeltext für die Evaluierung mit Dummy-Zeichen ("xxx") für den Bereich der Variabel sein muss.
"Berechne" den einzusetzenden Text und ersetze die Dummy-Zeichen durch diesen Text.
Sub test()
Dim anzahlKostenstellen As Long
Dim strEVA As String
Dim letzteZeile As Long
Dim Spalte As Long
Dim strZellbereich As String
letzteZeile = 1293
Spalte = 6
strEVA = "=Sum(If(xxx"""",1/CountIf(xxx,xxx)))"
strZellbereich = Range(Cells(2, Spalte), Cells(letzteZeile, Spalte)).Address(0, 0)
strEVA = Replace(strEVA, "xxx", strZellbereich)
anzahlKostenstellen = Evaluate(strEVA)
End Sub
Gruß Daniel

Anzeige
AW: statische CountIf-Funktion in dynamisch umwandeln?
07.04.2015 12:28:15
Robert
Vielen Dank.
Das hat geklappt :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige