Habe diesen Code:
Worksheets("Bericht").Range("K2").FormulaLocal = "=Application.WorksheetFunction.CountA(Sheets(1).Columns("A:A"))"
Der Code wird immer in rot angezeigt. Wo ist der Fehler?Gruß Hartmut
Worksheets("Bericht").Range("K2").FormulaLocal = "=Application.WorksheetFunction.CountA(Sheets(1).Columns("A:A"))"
Der Code wird immer in rot angezeigt. Wo ist der Fehler?Worksheets("Bericht").Range("K2") = WorksheetFunction.CountA(Sheets(1).Columns("A:A"))
Es wird bezahlt und das Ergebnis in die Zelle geschrieben. In der Zielzelle hast du dann einen Wert, keine Formel.Um die Anzahl der nicht leeren Zellen in einer bestimmten Spalte mit VBA zu zählen und das Ergebnis in eine Zelle zu schreiben, befolge diese Schritte:
COUNTA
-Funktion zu verwenden:Sub CountNonEmptyCells()
Dim ws As Worksheet
Set ws = Worksheets("Bericht")
' Zähle die nicht leeren Zellen in Spalte A des ersten Blattes und schreibe das Ergebnis in Zelle K2
ws.Range("K2").FormulaLocal = "=ANZAHL2(Tabelle2!A:A)" ' für deutsches Excel
End Sub
Fehler: "Formel in rot angezeigt"
COUNTA
oder ANZAHL2
-Funktion zu verwenden. Beispiel:
Worksheets("Bericht").Range("K2").FormulaLocal = "=ANZAHL2(Tabelle2!A:A)"
Fehler: Falsche Referenz auf Arbeitsblätter
Neben der Verwendung von WorksheetFunction.CountA
in VBA gibt es auch alternative Methoden, um die Anzahl der nicht leeren Zellen zu zählen:
Verwendung von WorksheetFunction
direkt in einer Zelle:
Worksheets("Bericht").Range("K2").Value = Application.WorksheetFunction.CountA(Sheets(1).Range("A:A"))
Direkte Verwendung der Excel-Funktion in der Zelle:
Worksheets("Bericht").Range("K2").Formula = "=COUNTA(Tabelle2!A:A)"
Hier sind einige praktische Beispiele, wie du die COUNTA
-Funktion in VBA verwenden kannst:
Zählen der nicht leeren Zellen in einem bestimmten Bereich:
Sub CountInRange()
Dim countResult As Long
countResult = Application.WorksheetFunction.CountA(Sheets(1).Range("A1:A100"))
Worksheets("Bericht").Range("K2").Value = countResult
End Sub
Zählen in verschiedenen Spalten:
Sub CountMultipleColumns()
Dim totalCount As Long
totalCount = Application.WorksheetFunction.CountA(Sheets(1).Range("A:A")) + Application.WorksheetFunction.CountA(Sheets(1).Range("B:B"))
Worksheets("Bericht").Range("K2").Value = totalCount
End Sub
FormulaR1C1
, wenn du mit relativen Zellreferenzen arbeitest.Application.CountA
-Methode, wenn du das Ergebnis direkt in eine Zelle schreiben möchtest, ohne eine Excel-Formel zu verwenden.1. Wie kann ich die COUNTA
-Funktion in einer nicht-deutschen Excel-Version verwenden?
Verwende die englische Syntax:
Worksheets("Bericht").Range("K2").Formula = "=COUNTA(Tabelle2!A:A)"
2. Was ist der Unterschied zwischen COUNTA
und COUNT
?
COUNTA
zählt alle nicht leeren Zellen, während COUNT
nur numerische Werte zählt.
3. Kann ich COUNTA
auch für mehrere Blätter verwenden?
Ja, du kannst die COUNTA
-Funktion in einer Schleife für jedes Blatt aufrufen und die Ergebnisse summieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen