Registriert seit: 16.05.2017
Version(en): 2013
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ß
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
16.05.2017, 08:56
(Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2017, 08:57 von RPP63.)
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)
Registriert seit: 16.05.2017
Version(en): 2013
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
16.05.2017, 09:11
(Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2017, 09:12 von RPP63.)
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 hochladenTabellen per Tool darstellenBeachte bitte:
Excel-Datei, kein BildGruß 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)
Registriert seit: 16.05.2017
Version(en): 2013
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.
Registriert seit: 16.05.2017
Version(en): 2013
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.
Hund_Katze_Kriterien.xlsm (Größe: 15,87 KB / Downloads: 4)
Registriert seit: 16.05.2017
Version(en): 2013
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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)
Registriert seit: 13.04.2014
Version(en): 365
Hi,
für jedes einzelne Tier so:
| A | B | C | D | E | F | G | H | I |
1 | Kriterium | Name | Soll-Stubenrein | Ist-Stubenrein | Soll-Verschmust | Ist-Verschmust | Soll-geimpft | Ist-geimpft | |
2 | Hund | Strolch | x | x | x | | x | | FALSCH |
3 | Hund | Susi | x | | | | x | x | FALSCH |
4 | Hund | Capper | x | x | x | | x | | FALSCH |
5 | Katze | Mrs. Kitty | x | | x | x | x | x | FALSCH |
6 | Katze | Mr. Snores | | | x | x | x | | FALSCH |
Zelle | Formel |
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.
Registriert seit: 16.05.2017
Version(en): 2013
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ß