Microsoft Excel

Herbers Excel/VBA-Archiv

Countif mit variabler Range

Betrifft: Countif mit variabler Range von: Aelsbeth
Geschrieben am: 23.11.2012 15:47:12

Ich krieg´s mal wieder nicht alleine hin.

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?

  

Betrifft: AW: Countif mit variabler Range von: ChrisL
Geschrieben am: 23.11.2012 17:13:25

Hi Aelsbeth

Vermutung:
overview.Range(overview.Cells(firstRow + 2, suchspalte), overview.Cells(sumRow - 1, suchspalte))

Ansonsten mal den Wert der Variablen z.B. sumRow prüfen. Wenn der Debugger steht mit der Maus auf die variable und der Wert wird im Tooltip angezeigt. sumRow muss grösser oder gleich 2 sein.

cu
Chris


  

Betrifft: AW: Countif mit variabler Range von: Aelsbeth
Geschrieben am: 23.11.2012 17:26:14

Yippiee. Danke, das war´s :-)