Zellen mit bestimmten Inhalt mit variabler Zahl farblich darstellen evt. bedingte Formatierung
Hallo,
ich habe mal wieder ein Excel Problem. Eins gelöst, und wieder was Neues.
Ich habe in einer Zeile an verschieden Stellen ein X.
Links neben der Reihe ist eine Zelle mit einem Lagerbestand von einer Stückzahl (Beispiel 2 Stück). Jetzt sollen von links nach rechts laufend 2 X farblich unterlegt werden mit gelb.
Lagerbestand 5 = 5 Kreuze mit Hintergrundfarbe gelb unterlegen.
Schön wenn ihr mir wieder helfen könntet.
Leider kann ich euch wohl nie in Sachen Excel und Makros helfen.
Gruß Mischi
Antwort schreiben
Antwort 1 von rainberg vom 21.10.2021, 23:21 Options
Hallo Mischi,
Warum fragst Du so, dass es keiner versteht?
In Excel hat jede Zelle eine Adresse, somit kann man doch das Kind
beim Namen nennen.
D h. wo stehen Kreuze und wo stehen Lagerbestände und nach
welchen Kriterien sollen welche Zellen gefärbt werden.
Wenn Du es mit Worten nicht ausdrücken kannst, dann lade eine
Tabelle hoc,h in der man unmissverständlich Dein Vorhaben erkennen
kann.
Gruß
Rainer
Antwort 2 von mischi1978 vom 21.10.2021, 23:38 Options
Hallo Rainer,
und ich hab gedacht es wäre schon gut erklärt :-(.
Hier der Link
Optisch schon so dargestellt, wie ich es gerne hätte.
http://www.file-upload.net/download-1960658/Excel_test1.xls.html
Gruß Mischi
Antwort 3 von coros vom 22.10.2021, 05:59 Options
Hallo Mischi,
nachfolgendes Makro sollte das machen, was Du Dir vorgestellt hast.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.Option Explicit
Sub Auswerten()
Dim lngRow As Long
Dim intColumn As Integer
Dim intAnzahl As Integer
Dim intBearbeitet As Integer
Cells.Interior.ColorIndex = xlNone
For lngRow = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
intAnzahl = Cells(lngRow, 1)
intBearbeitet = 0
For intColumn = 2 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
If UCase(Cells(lngRow, intColumn)) = UCase("x") Then
Cells(lngRow, intColumn).Interior.ColorIndex = 6
intBearbeitet = intBearbeitet + 1
If intAnzahl = intBearbeitet Then Exit For
End If
Next
Next
End Sub
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von mischi1978 vom 22.10.2021, 20:50 Options
Hallo Oliver,
Dein Makro hat super geklappt.
Vielen DANK
Gruß Mischi
Antwort 5 von mischi1978 vom 26.10.2021, 21:04 Options
Hallo Oliver,
vielleicht kannst Du doch noch mal helfen.
Wenn ich als Lagerbestand eine 0 oder eine leere Zelle habe markiert das Makro alle in der Reihe vorhandenen X.
Da sollte es eigentlich keine markieren und gleich die nächste Reihe auswerten.
Hast Du dafür eine Lösung.
Vorab schon mal danke
Gruß Mischi und einen schönen guten Abend
Antwort 6 von malSchauen vom 27.10.2021, 23:19 Options
Hi,
Ändere den Code aus AW3 z.B. wie folgt:
For lngRow = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
If Cells(lngRow, 1).Value <> 0 And IsNumeric(Cells(lngRow, 1)) Then
intAnzahl = Cells(lngRow, 1)
intBearbeitet = 0
For intColumn = 2 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
If UCase(Cells(lngRow, intColumn)) = UCase("x") Then
Cells(lngRow, intColumn).Interior.ColorIndex = 6
intBearbeitet = intBearbeitet + 1
If intAnzahl = intBearbeitet Then Exit For
End If
Next
End If
Next
bye
malSchauen
Antwort 7 von mischi1978 vom 28.10.2021, 18:16 Options
Hallo malSchaun,
danke für die Hilfe. Es klappt wie ich es wollte.
Gruß Mischi
Antwort 8 von Saarbauer vom 28.10.2021, 19:43 Options
Hallo,
ohne Makro mit bedingter Formatierung
"Formel ist"
=UND(ZÄHLENWENN($B2:B2;"X")<=$A2;B2="x")
in B" und dann mit dem Pinsel über sie Zellen ziehen
Gruß
Helmut