Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel ZÄHLENWENN über VBA in Zelle eintragen

Forumthread: Formel ZÄHLENWENN über VBA in Zelle eintragen

Formel ZÄHLENWENN über VBA in Zelle eintragen
Daniel
Hallo,
hatte gestern schon fast das selbe Problem, da konnte mir Udo super schnell helfen. Vielleicht weiß heute auch jemand Bescheid...
Ich möchte über VBA in eine bestimmte Zelle (z.B. D8) die Formel
=ZÄHLENWENN(C13:C_dynamisch_;"Bedingung")
eintragen.
Die Formel hab ich als String zusammengesetzt, die VBA-Routine sieht so aus:
Dim Zeiger1 As String
Zeiger1 = "=" & "countif" & "(" & "C13" & ":" & "C" & intlastrow & ";""Bedingung"")"
' intlastrow ist die Variable für die letzte besetzte Reihe (vgl. Herber)
Cells(8, 4).FormulaLocal = Zeiger1
In Zelle D8 wird korrekt der String wie oben angegeben eingetragen. Leider zeigt die Zelle im Tabellenblatt die Meldung #NAME? an. Erst wenn ich oben in der Formel-Eingabezeile in die Klammer klicke und danach RETURN drücke, wird in der Zelle im Tabellenblatt die Summe angezeigt.
Wie lässt sich das vermeiden? Wie wird der Wert sofort angezeigt? Wie muss ich die Variable Zeiger1 übergeben? Was muss ich anstatt .FormulaLocal angeben?Vorab vielen Dank für eure Hilfe!
MfG Daniel
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formel ZÄHLENWENN über VBA in Zelle eintragen
xXx
Hallo,
bei .FormulaLocal muss du die deutschen Funktionsnamen verwenden. Bei englischen Namen nur .Formula.
Dein String ist auch zu kompliziert zusammengebastelt.
Zeiger1 = "=Zählenwenn(C13:C" & intlastrow & ";""Bedingung"")"
Gruß aus'm Pott
Udo
http://www.excelerator.de
Anzeige
AW: Formel ZÄHLENWENN - DANKESCHÖN!!!
06.04.2004 14:08:40
Daniel
Vielen Dank Udo!
MfG Daniel
;
Anzeige
Anzeige

Infobox / Tutorial

ZÄHLENWENN über VBA in Excel eintragen


Schritt-für-Schritt-Anleitung

Um die Formel ZÄHLENWENN über VBA in eine Zelle einzutragen, kannst du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel. Das kannst du tun, indem du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Modul einfügen" auswählst.

  3. Verwende den folgenden VBA-Code, um die Formel in die gewünschte Zelle (z.B. D8) einzutragen:

    Sub EintragenZaehlenWENN()
       Dim intlastrow As Long
       intlastrow = Cells(Rows.Count, "C").End(xlUp).Row ' Bestimme die letzte besetzte Zeile in Spalte C
       Dim Zeiger1 As String
       Zeiger1 = "=ZÄHLENWENN(C13:C" & intlastrow & ";""Bedingung"")"
       Cells(8, 4).FormulaLocal = Zeiger1 ' Trage die Formel in Zelle D8 ein
    End Sub
  4. Schließe den VBA Editor und führe das Makro aus, um die Formel in die Zelle D8 einzutragen.


Häufige Fehler und Lösungen

  • Fehler: #NAME? in der Zelle

    • Lösung: Stelle sicher, dass du die richtige Funktionsbezeichnung verwendest. Bei deutschen Excel-Versionen sollte .FormulaLocal und der Funktionsname ZÄHLENWENN verwendet werden. Bei englischen Versionen musst du countif verwenden und .Formula nutzen.
  • Fehler: Falsche Zelle wird aktualisiert

    • Lösung: Überprüfe, ob die Zelle, in die du die Formel einträgst, korrekt angegeben ist. In unserem Beispiel ist es Cells(8, 4), was D8 entspricht.

Alternative Methoden

Falls du die Formel nicht über VBA eintragen möchtest, kannst du auch die Formel direkt in die Zelle D8 eingeben:

  1. Klicke auf die Zelle D8.
  2. Gib die Formel direkt ein: =ZÄHLENWENN(C13:C100;"Bedingung") (oder entsprechend der Anzahl der Zeilen).
  3. Drücke ENTER, um die Formel zu bestätigen.

Praktische Beispiele

Angenommen, du möchtest die Anzahl der Zellen in Spalte C zählen, die den Wert "Bedingung" erfüllen:

  • Durch den VBA-Code wird die Formel in D8 eingetragen, und du kannst diese zur Analyse deiner Daten verwenden.
Sub BeispielZaehlenWENN()
    Dim intlastrow As Long
    intlastrow = Cells(Rows.Count, "C").End(xlUp).Row
    Cells(8, 4).FormulaLocal = "=ZÄHLENWENN(C13:C" & intlastrow & ";""Bedingung"")"
End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang jedes Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass keine Fehler auftreten.
  • Halte deine VBA-Routinen einfach und klar. Komplexe Strings können zu Verwirrung führen.

FAQ: Häufige Fragen

1. Kann ich die Formel auch in einer anderen Zelle eintragen? Ja, du kannst die Zelle ändern, indem du die Zuweisung in Cells(8, 4) anpasst. Zum Beispiel für Zelle E10 wäre das Cells(10, 5).

2. Was ist der Unterschied zwischen .Formula und .FormulaLocal? .Formula wird für englische Funktionsnamen verwendet, während .FormulaLocal für deutsche oder lokalisierte Funktionsnamen verwendet wird. Achte darauf, die richtige Methode entsprechend der Sprache deiner Excel-Version zu verwenden.

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