Wenn Position ein Array darstellt, dann kannst du die Dimension mit LBound() und UBound() abfragen.
Dim p As Variant
p = Range("A3:C6").Value
Debug.Print "Anz. Zeilen: "; UBound(p, 1)
Debug.Print "Anz. Spalten: "; UBound(p, 2)
Da das Array, welches hier zurückgegeben wird, mit dem Index 1 beginnt, entspricht der Wert, den UBound liefert, gleichzeitig der Anzahl.
Was bedeutet "=COUNT(R[-6]C:R[-1]C)" ?
Dieser Formelausdruck ist in der Z1S1 Schreibweise (engl. R1C1) angegeben. So bedeutet R[-6] beispielweise das ausgehend von der Zelle in der dieser Ausdruck steht: "sechs Zeilen nach oben"; da bei C nichts weiter angegeben wurde, bleibt man in der selben Spalte.
Beispiel: In der Zelle F10 mit "=R[-6]C" würde man also auf F4 verweisen.
Egal in welcher Zeile oder Spalte Count angewendet wird, bleibt der Ausdruck gleich.
Das kontrolliere lieber noch mal. Die referenzierten Bereiche sind je Zelle (ActiveCell) andere.
|