Countif mit variabler Range
23.11.2012 15:47:12
Aelsbeth
Ich möchte eine Berechnung durch worksheet_activate durchführen. Wenn ich die festen Bezüge aus _ dem anderen Tabellenblatt , aus dem die Werte kommen, einsetze funktioniert es.
Cells(wertreihe, wertspalteAlt) = WorksheetFunction.CountIf(overview.Range("I15:I16"), market.Cells(wertreihe, wertspalte))
Da der Bereich, in dem gesucht werden soll aber dynamisch ist, muss ich diesen immer neu _ definieren. Das wollte ich so machen:
Cells(wertreihe, wertspalteAlt) = WorksheetFunction.CountIf(overview.Range(Cells(firstRow + 2, suchspalte), Cells(sumRow - 1, suchspalte)), market.Cells(wertreihe, wertspalte))
Funktioniert aber nicht, kommt immer "Anwendungs- oder Objektdefinierter Fehler".
Und auch wenn ich das Ganze nochmal mit festen Zeilen und Spalten teste, geht es nicht.
Cells(wertreihe, wertspalteAlt) = WorksheetFunction.CountIf(overview.Range(Cells(15, 9), Cells(16, 9)), market.Cells(wertreihe, wertspalte))
Die entsprechenden Variablen habe ich definiert.
Dim suchspalte As Integer
Dim wertreihe As Integer
Dim wertspalte As Integer
Dim wertspalteAlt As Integer
Dim wertspalteNeu As Integer
Dim suchbereich As Range
'Aufrufen allgemeiner Variablen-------------------------------------------------
Call Declaration
'Ermitteln des Suchbereichs in der Projektübersicht ----------------------------
sumRow = overview.Cells(Rows.Count, startCol).End(xlUp).Row
'Festlegen der Ergebnisspalten -------------------------------------------------
wertspalte = 2 'Spalte mit den Bezeichnungen
wertspalteAlt = 4 'Spalte mit den Werten Bestand
wertspalteNeu = 5 'Spalte mit den Werten Planung
suchspalte = 9
wertreihe = 15
Wo kann der Fehler liegen?