Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Anzahl von gefüllten Zellen zählen
#1
Hi zusammen,
würde gerne folgendes tun:
in einem Teilbereich einer Zeile zählen, wieviele Zellen einen bestimmten Wert (Buchstabe) enthalten.

Anschließend würde ich eine Anweisung mit If Block davon abhängig machen, ob die Zahl in besagter Zelle Mod 2 = 0 ist.

Bspw. A1 bis A5 enthalten 3x ein J
B2 bis B5 nur 2x ein J. In Zelle A6 sollte nun, wenn möglich über VBA da ich eine Schleife laufen lasse, um alle Zeilen mit einem Kriterium zu bearbeiten, eine 3 und in Zelle B6 eine 2 stehen womit B6 Mod 2 = 0 wäre.
Gibt es eine entsprechende Funktion zum "Zählen" von Zelleninhalten mit Textformatierung ( oder natürlich auch das Zählen von leeren Zellen im Umkehrschluss)?

GRuß
Antworten Top
#2
Moin!
Wenn es ein einzelner Buchstabe ist, geht ZÄHLENWENN(Bereich;DeinBuchstabe)
Dies natürlich auch mittels VBA, da ist es dann WorksheetFunction.CountIf()

Eine Schleife ist nicht nur überflüssig, sondern kontraproduktiv, da langsam.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Danke für die schnelle Antwort,
ich habe mich falsch ausgedrückt. Keine Schleife sondern einen Zähler wollten ich benutzen um ein Kriterium zu überprüfen welches in der ersten Spalte steht und <100 Einträgt aufweist.
Quasi:

For i = 2 To 100
    If Sheets(1).Cells(i, 1) = "Kriterium" Then
        Sheets(1).Cells(i, 6).Value = WorksheetFunction.CountIf(Range("A2:A5"), "J")
    End If
Next i

Das Problem, welches ich hierbei sehe ohne es getestet zu haben liegt darin, dass ich die Range nicht durch ("A2:A5") ausdrücken möchte sondern (i, 2) bis (i, 6), die Anzahl der J's in jede i. Zeile in Spalte 6 geschrieben werden soll. Hoffe ich habe es verständlich erklärt.
Antworten Top
#4
Zunächst mal solltest Du wissen dass die Cells-Nomenklatur Cells(Zeile,Spalte) ist (zumindest verstehe ich Dein Vorhaben noch nicht).
Es wäre besser, Du erarbeitest mal eine Beispieldatei mit einigen Datensätzen (Wunschergebnis händisch eintragen!) und lädst die hier hoch.

[anklickbare Links]
Dateien hochladen

Tabellen per Tool darstellen

Beachte bitte:
Excel-Datei, kein Bild

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Das ist mir bewusst, Zeile i Spalte 1 bzw 6 in meinem beschriebenen Beispiel. Ich setz mich mal an eine Beispiel Datei sobald ich Zeit habe und lade sie hoch, danke.
Antworten Top
#6
Es hat sich leider in der Art erledigt, dass ich einen großen Denkfehler gemacht habe. Die Überprüfung auf Teilbarkeit durch zwei bei einer Anzahl von Soll und Ist Einträgen gibt natürlich keinerlei Aufschluss über den wirklichen Status. In der Beispieldatei sieht man eine entsprechende Tabelle mit den Kriterien Hund und Katze und einzelnen Namen. In weiteren Spalten sind Soll und Ist Kriterien mit x markiert oder eben nicht. Ich hätte gerne entsprechend der eingefügten Userform eine Anzeige ob alle geforderten(!) Kriterien für alle Hunde und alle Katzen erfüllt sind. Ich würde gerne selber etwas schreiben und genauer nachfragen aber mir fällt keine Idee ein wie ich das überprüfen könnte. Abgesehen davon, dass ich einen weiteren Buchstaben einführe um das soll vom ist zu trennen und die Werte später zu vergleichen.


.xlsm   Hund_Katze_Kriterien.xlsm (Größe: 15,87 KB / Downloads: 4)
Antworten Top
#7
Könnte wohl die Anzahl der "x" in den Spalten mit Soll zählen und vergleichen mit denen in den Spalten mit Ist Werten. Kommt mir aber extrem umstädnlich vor.
Antworten Top
#8
Ich bin jetzt erst mal weg, schaue mir das aber heute Abend nochmal an (falls in der Zwischenzeit keine Lösung vorliegt).

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Hi,

für jedes einzelne Tier so:

 ABCDEFGHI
1KriteriumNameSoll-StubenreinIst-StubenreinSoll-VerschmustIst-VerschmustSoll-geimpftIst-geimpft 
2HundStrolchxxx x FALSCH
3HundSusix   xxFALSCH
4HundCapperxxx x FALSCH
5KatzeMrs. Kittyx xxxxFALSCH
6KatzeMr. Snores  xxx FALSCH

ZelleFormel
I2=SUMMENPRODUKT((REST(SPALTE($D$1:$H$1);2)=0)*($D2:$H2=$C2:$G2))=3
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#10
Dankeschön, soweit funktioniert das und ich komme (schneller) auf das gleiche Ergebnis wie die Addition aller Soll und Ist Spalten mit =SummeWenn und einem anschließenden Vergleich. Wenn ich nun aber (ob nun so oder mittels meiner umständlichen Variante) eine Spalte habe die Wahr und Falsch Werte enthält, wie komme ich zu dem gewünschten Ergebnis in der UserForm die einem anzeigt ob alle Kriterien bei allenHunden bzw. Katzen erfüllt sind? Etwa in der Art und das gleiche für Katzen hinten dran (für den Fall ich hätte einen CommandButton zum Berechnen eingefügt)?

Sub CommandButton1_Click()
Dim liZeile As Integer
    liZeile = 2
    Do Until Range("A" & liZeile).Value <> "Hund"
            If Sheets(1).Cells(liZeile, 9).Value = Wahr Then
            TextBox1 =  "Ja" 
            Else
            TextBox1 = "Nein"
            Exit Sub              
            End If
        liZeile = liZeile + 1
    Loop
End Sub

Gruß
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste