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

Gefüllte Zeilen Zählen in Bereich

Gefüllte Zeilen Zählen in Bereich
18.06.2018 13:15:37
Haiko
Hallo liebe Leute,
Ich habe jetzt eine Ewigkeit gesucht aber kein Makro für eine ganz simple Problemstellung gefunden...
Ich möchte in meinen Spalten B bis F diejenigen Zeilen zählen, die gefüllt sind. Also nicht die letzte Zeile, auch nicht alle inklusive leerer Zeilen, sondern nur diejenigen, die einen Wert haben. Dabei sollte natürlich auch etwaige unsichtbare Formatierung außer Acht gelassen und nicht mitgezählt werden.
Könnte mir jemand weite?
Liebe Grüße,
Haiko

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 13:33:17
MCO
Hallo Haiko!
Etwa so?
Sub Zeilen_zählen()
On Error Resume Next
For Each clm In Range("B:F").Columns
Text = Text & Chr(13) & "Spalte " & clm.Column & ": " & clm.SpecialCells(xlConstants). _
Count & " Zellen"
Next clm
MsgBox Text
End Sub
Gruß, MCO
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 13:37:29
Haiko
Hallo MCO,
Nein, so leider genau nicht. Es soll mir die befüllten Zeilen über alle Spalten hinweg anzeigen, nicht die in jeder Spalte separat. Trotzdem schonmal danke für den Versuch.
Gruß,
Haiko
AW: Gefüllte Zeilen Zählen in Bereich
19.06.2018 07:36:01
MCO
Dann eben so:
Sub Zeilen_zählen()
lz = ActiveSheet.UsedRange.Rows.Count
Set Rng = Range("A1:C" & lz) 'ggf anpassen
For Each rw In Rng.Rows
For Each clm In Rng.Columns
If Cells(rw.Row, clm.Column)  "" Then
counter = counter + 1
Cells(rw.Row, "D") = counter 'ggf ausblenden!!!
Exit For
End If
Next clm
Next rw
MsgBox counter & " befüllte Zeilen"
End Sub
Gruß, MCO
Anzeige
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 13:44:00
Daniel
Hi
Dim AnzahlZeilen as long
with ActiveSheet.Usedrange
With .columns(.columns.count + 1)
.FormulaR1C1 = "=IF(CountA(RC2:RC6)=5,1,0)"
AnzahlZeilen = Worksheetfunction.Sum(.Cells)
.Clearcontents
end with
end with
in der Formel kannst du festlegen, wieviele Zellen in der Zeile gefüllt sein müssen, damit die Zeile als gefüllt gilt.
Gruß Daniel
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 13:58:25
Haiko
Hallo Daniel,
Deine Lösung scheint nah ranzukommen funktioniert aber nicht (oder ich habe es nicht verstanden, wie es angepasst werden muss...)
Nochmal zur Klärung: Eine Zeile gilt als befüllt, wenn eine "Zelle" in der jeweiligen "Zeile" über die jeweiligen Spalten befüllt ist.
Beispiel:
ABCDE
1
2X
3 X
4 XX
5
6 X
4 Zeilen sind hier befüllt.
Gruß,
Haiko
Anzeige
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 14:04:20
Daniel
ist doch ganz einfach, einfach einen anderen Wert angeben, ab dem die Zeile als gefüllt gilt:
.FormulaR1C1 = "=IF(CountA(RC2:RC6)>0,1,0)"
Gruß Daniel
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 14:17:04
Haiko
Hallop Daniel,
Leider immer noch nicht klar...
Bei deiner Lösung zählt es auch die leeren Zeilen.
Gruß,
haiko
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 15:59:58
Daniel
Hi
das zählt alle Zellen mit Inhalt.
nicht gezählt werden nur echte Leerzellen.
Eine Zelle mit einem Formelergebnis "" ist nicht leer, auch wenn sie Leer aussieht.
Wenn in den Zellen Formeln stehen, dann müsstest du mit CountIF zählen.
.FormulaR1C1 = "=IF(CountIF(RC2:RC6,""?*"")>0,1,0)"

wenn in den "nichtleeren" Zellen Zahlen stehen, müsstest du mit Count zählen, das zählt nur die Zahlen
.FormulaR1C1 = "=IF(Count(RC2:RC6)>0,1,0)"
wenn beides vorkommt, beide Varianten addieren:
.FormulaR1C1 = "=IF((Count(RC2:RC6)+CountIF(RC2:RC6,""?*""))>0,1,0)"

Gruß Daniel
Anzeige
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 16:26:48
Haiko
Hallo Daniel und andere Mitleser,
Danke für deine/eure Mühe. Ich bekomme es jedoch leider nicht zum laufen. Um die Sache aufzuklären:
Ich habe die Datei mit dem Makro hier hochgeladen:
https://www.herber.de/bbs/user/122160.xlsm
Bei mir spuckt es nicht das gewünschte Ergebnis aus...In dem Beispiel müssten 10 gefüllte Zeilen ausgegeben werden. Falls das Ergebnis bei euch erscheint, ist vll etwas mit meinen Einstellungen falsch.
Liebe Grüße,
Haiko
AW: Gefüllte Zeilen Zählen in Bereich
18.06.2018 17:37:29
Daniel
Naja, du musst halt bedenken, dass du dein Code immer an deine Gegebenheiten anpassen musst, vorallem dann, wenn deine Problembeschreibung nicht zu deiner Echtdatei passt!
in deiner Anfrage sollten die Spalten B:F überprüft werden, dafür habe ich dann auch den Code geschrieben.
Jetzt in deinem Beispiel sind es plötzlich die Spalten A-C.
dass musst du natürlich auch im Code bzw in der Formel anpassen.
Da ich das nicht wissen kann, musst du das selber machen.
also mach aus RC2:RC6 (spalte 2-6, bzw B:F) dann entsprechend RC1:RC3 (Spalte 1-3 bzw A:C)
dann stimmt auch das Ergebnis.
Gruß Daniel
Anzeige
AW: so mE noch nicht eindeutig ...
18.06.2018 13:47:23
neopa
Hallo Haiko,
... sollen alle Zellen des Bereiches derjenigen Zeilen gefüllt sein oder reicht es aus, wenn bereits eine Zelle im einer Bereichszeile gefüllt ist?
Als Formellösung (Zeilenbereich entsprechend Erfordernis noch anpassen) für die gesuchte Zeilenanzahl:
- alle Zellen der jeweiligen Bereichszeilen müssen gefüllt sein:
=SUMME(INDEX((MMULT((B1:F99"")*1;{1;1;1;1;1})=5)*1;))
- mind. 1 Zelle ist je Zeile gefüllt:
=SUMME(INDEX((MMULT((B1:F99"")*1;{1;1;1;1;1})>0)*1;))
Gruß Werner
.. , - ...
AW: so mE noch nicht eindeutig ...
18.06.2018 15:00:46
Haiko
Hallo Werner,
Bräuchte VBA Code. Eine Zeile gilt als gefüllt, wenn eine Zelle innerhalb der Bereichszeile gefüllt ist.
Wäre wirklich froh um eine funktionierende Lösung.
Grüße
Anzeige
AW: noch nicht eindeutig, thread weiter offen ...
18.06.2018 15:38:20
neopa
Hallo Haiko,
... denn möglicherweise betrachtest Du auch Zellen die mit ="" gefüllt sind als leer? Denn anders kann ich Deinen letzten Beitrag auf Daniels Vorschlag nicht interpretieren. Oder?
Mit meinem Formelvorschlag:
=SUMME(INDEX((MMULT((B1:F99"")*1;{1;1;1;1;1})>0)*1;)) 
werden Zellen mit ="" als leer gezählt.
Aus VBA-Lösungen halte ich mich allerdings außen vor. Deshalb setze ich diesen thread wieder auf offen.
Gruß Werner
.. , - ...
AW: noch nicht eindeutig, thread weiter offen ...
18.06.2018 15:38:33
neopa
Hallo Haiko,
... denn möglicherweise betrachtest Du auch Zellen die mit ="" gefüllt sind als leer? Denn anders kann ich Deinen letzten Beitrag auf Daniels Vorschlag nicht interpretieren. Oder?
Mit meinem Formelvorschlag:
=SUMME(INDEX((MMULT((B1:F99"")*1;{1;1;1;1;1})>0)*1;)) 
werden Zellen mit ="" als leer gezählt.
Aus VBA-Lösungen halte ich mich allerdings außen vor. Deshalb setze ich diesen thread wieder auf offen.
Gruß Werner
.. , - ...
Anzeige
AW: sorry für Doppelpost, thread offen! owT
18.06.2018 15:40:02
neopa
Gruß Werner
.. , - ...

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige