Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzahl2 in VBA
17.02.2009 09:37:00
Gordon
Moin,
in Excel gibt es ja die Funktion "Anzahl2()", die ja in einem bestimmten Bereich die nichtleeren Zellen zählt. Gibt es eine solche Funktion auch in VBA?
Gruß
Gordon

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Application.CountA(Range) (owT)
17.02.2009 09:41:00
Renee

AW: Application.CountA(Range) (owT)
17.02.2009 09:53:00
Gordon
Hmm....funktioniert irgendwie noch nicht so richtig bei mir....
Habe folgendes mal probiert:
Worksheets("Tabelle1").Range("A1").Value = Application.CountA("B1:B200")
Leider schreibt er dann in Zelle A1 nur eine 1, ob wohl in den Zellen von B1 bis B200 4 Stück nicht leer sind.
Was mache ich falsch?
Gruß
Gordon
AW: Application.CountA(Range) (owT)
17.02.2009 10:04:00
serge
Hallo Gordon
versuch es mit :Worksheets("Tabelle1").Range("A1").FormulaR1C1 = "=COUNTA(RC[1]:R[32]C[1])"
Serge
AW: Application.CountA(Range) (owT)
17.02.2009 10:12:00
Gordon
Ok,
das hat nun geklappt. Danke dafür.
Das schreibt aber nun ja eine Formel in die Zelle, wobei ich ja nur mit dem Wert in VBA arbeiten möchte. Die Formel die ich vorher angegeben hatte, war nur zu Testzwecken. Die Anzahl soll später gar nicht auf dem Blatt stehen. Es soll nur mit ihr dann im VBA-Code gerechnet werden.
Daher fand ich Application.CountA(Range) eigentlich ganz gut...nur wende ich sie entweder falsch an, oder sie geht nicht so. :-(
Gruß
Gordon
Anzeige
Falscher Parameter Range
17.02.2009 10:07:00
Renee
Hi Gordon,
So geht's:

Worksheets("Tabelle1").Range("A1").Value = Application.CountA(Tabelle1.Range("B1:B200"))


GreetZ Renée

AW: Falscher Parameter Range
17.02.2009 10:14:00
Gordon
AH,
das hat nun super geklappt. Danke dir! *freu*
Aber eine kleine Frage habe ich noch zu meinem Verständnis: Warum hat er denn ansonsten immer nur eine 1 in Zelle A1 geschrieben?
Gruß
Gordon
Weil die Funktion so auswertet:
17.02.2009 10:19:00
Renee
Gordon,
Du hast keine Range, sondern einen String übergeben. Und der String hat genau EINEN Eintrag.
z.B. Gibt Application.CountA("abc",1,"gugus") als Resultat 3 zurück, weil 3 Werte vorhanden sind.
Hingegen werden bei der Übergabe einer echten Range, die Leerzellen nicht mitgezählt.
GreetZ Renée
Anzeige
AW: Weil die Funktion so auswertet:
17.02.2009 10:22:00
Gordon
Ah,
jetzt verstehe ich. Danke sehr!
Gruß
Gordon

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige