Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Bedingte Formation





Frage

Hallo liebe Helfer, Hab eine etwas sehr umständliche "Bedingte Formation" in meiner Tabelle. Vielleicht gibt es auch einfachere Möglichkeiten mir ist allerdings keine eingefallen. Ich denke dass es ohne Makro nicht zu vereinfachen geht. Allerdings bin ich der Programmiersprache nicht mächtig. Hätte nichts gegen ein funktionierendes Makro. So jetzt erst einmal was ich überhaupt machen will bevor ich auf meine private Lösung eingehe. Beispiel: Wenn in Spalte A, Zeile1 eine Zahl größer 1 eingetragen wird sollen die Spalten A-V in Zeile 1 farbig hinterlegt werden. Sobald in Zeile 2 (Spalte A) eine Zahl eingetragen wird soll Zeile 1 wieder in die Ursprungsformatierung und Zeile 2 Spalte A-V farbig hinterlegt werden usw. Vereinfacht gesagt sind die Zeilen die Kalenderwochen und die Spalten die Produkte. Immer die aktuelle Kalenderwoche soll farbig markiert sein. Meine derzeitige Lösung: Bedingte Formation sieht dann wie folgt aus: Die Zeilen davor sind andersweitig belegt. 1. Bedingung: "Formel ist=$K$14>1" (keine Formation) 2. Bedingung: "Formel ist=$K$13>1" (farbiger Hintergrund) Dies muss ich jetzt aber für jede Zeile neu machen, da mir nicht bekannt ist, dass man Bedingte Formationen erweitern kann so dass es Excel selbst erkennt. In der Nächsten Zeile steht dann: 1. Bedingung: "Formel ist=$K$15>1" (keine Formation) 2. Bedingung: "Formel ist=$K$14>1" (farbiger Hintergrund) usw. Bei 52 bzw 104 Zeilen ist das sehr zeitintensiv. Da muss es doch eine bessere, handhabungsleichtere Möglichkeit geben ohne die Felder per Hand jede Woche zu ändern. Könnte mir gut vorstellen, dass es mit nem Makro viel leichter zu lösen wäre. So bin offen für alle Vorschläge. Danke schon einmal im Voraus. gez. Hardwarehacker

Antwort 1 von Saarbauer

Hallo,

warum hälst du die Zelle mit den $-Zeichen fest?

Ich würde nur eine Bedingung eingeben
"Formel ist" =$K14>1 (farbiger Hintergrund), jedoch kenne ich nicht den Grund der anderen Bedingung

Mit dem Pinsel auf die Zelle mit der Bedingten Formatierung und dann über die Spalte ziehen

Gruß

Helmut

Antwort 2 von hardwarehacker

bei deiner lösung würden alle bis dahin vergangenen zeilen markiert bleiben.

die 2. Bedingung ist sozusagen das löschen der formatierung sobald die nächste zeile farbig hinterlegt wird.
wurde aber auch schon oben von mir beschrieben.

Also es funktioniert theoretisch.
Herzliches Dankeschön


Sind trotzdem noch VBA-Vorschläge???


gez. Hardwarehacker

Antwort 3 von Saarbauer

Hallo

dann würde ich folgendes eingeben:
Für Zeile 1 Spalte A bis V

"Formel ist "=UND(1<=$A1;ISTLEER($A2))

Und dann mit Pinsel nach unten

Gruß

Helmut

Antwort 4 von JoeKe

Hallo Hardwarehacker,

mit folgendem Makro, das in das VBA-Projekt deines Tabellenblattes muss, wird die letzte Zeile A-V, die in A1 einen Wert größer 1 hat, gelb gefärbt.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Dim i As Integer
For i = 1 To Cells(Rows.Count, 1).End(xlUp)
If Range("A" & i) > 1 Then
Cells.Interior.ColorIndex = xlNone
Range("A" & i & ":V" & i).Interior.ColorIndex = 6
End If
Next
Application.ScreenUpdating = True
End Sub


MfG

JöKe

Antwort 5 von Hardwarehacker

Funktioniert super solange man die Tabelle nicht leer lässt. Dann will er immer debuggen.

Jetzt ist mir gerade noch etwas eingefallen.
Eine Spalte sollte Farbig anders hervorgehoben werden. Hab jetzt versucht mit logischen denken etwas hinzuzufügen. Klappt allerdings nicht.

Wenn du JöKe mir schreiben könntest wie der/die Befehl/e lautet/n wie ich in Spalte E eine andere Farbe (orange) einbinden kann wäre ich dir zu tiefst verbunden.

gez. Hardwarehacker

Antwort 6 von JoeKe

Hallo Hardwarehacker,

erweitere den Code so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Dim i As Integer
For i = 1 To Cells(Rows.Count, 1).End(xlUp)
If Range("A" & i) > 1 Then
Cells.Interior.ColorIndex = xlNone
Range("A" & i & ":V" & i).Interior.ColorIndex = 6
Range("E" & i).Interior.ColorIndex = 45
End If
Next
Application.ScreenUpdating = True
End Sub

MfG

JöKe

Antwort 7 von Aliba

Hi Hardwarehacker,


wenn ich es richtig verstehe, werden im Bereich K13 bis Kxx Kalenderwochen als Zahl eingetragen.
Die Zeile der zuletzt eingetragenen Kalenderwoche soll farbig hinterlegt werden und in Spalte E soll nochmal eine andere Farbe (orange) sein.

Bereich A13 bis Vxx markieren
FORMAT - BEDINGTE FORMATRIERUNG - Formel ist:

=UND($K13=MAX($K$13:$K$xx);SPALTE()=6)

Format Hintergrund (orange)

Bedingung hinzufügen:
Formel ist: $K13=MAX($K$13:$K$xx)

Format Hintergrund (wie gewünscht)

Hoffe mal es funzt so, habs jetzt nicht getestet.

CU Aliba

Antwort 8 von Hardwarehacker

@Joke
Herzlichen Dank funktioniert super



@Aliba
Nicht ganz. In Spalte K ist ein Übertrag aus einem anderen Tabellenblatt in dem immer zu Anfang der Woche etwas eingetragen wird. Aber das ist ja nicht von Bedeutung für die Lösung des Problems.

Allerdings funktioniert Ihre Formel nicht.
Excel bringt dann - Formel ungültig!
Dies gilt für beide Formeln.

Wäre trotz der Makroversion noch an Ihrer bedingten Formation interessiert.

Danke
gez. Hardwarehacker

Antwort 9 von Aliba

Hi Harware,

zunächst mal möchte ich erwähnen, daß man natürlich höflich miteinander umgehen sollte, es allerdings nicht üblich ist, sich in einem Forum zu Siezen, also biete ich hiermit erstmal das Du an.

So , dann zu Deinem Problem.

Du hast oben geschrieben, daß in der Spalte K die Kalenderwochen stehen. Wo die herkommen ist ersteinmal egal. Also bin ich davon ausgegangen, daß in Spalte K aufsteigende Werte stehen (kommt jetzt auch darauf an, welcher Standard bei den Kalenderwochen angewendet wird. Nach dem amerikanischen Standard wäre das auch so).
Somit wäre in der letzten belegten Zellen in Spalte K auch der höchste Wert.

Die Formeln in der bedingten Formatierung funktionieren bei mir.

Vielleicht hast Du die xx in der Formel falsch interpretiert. Anstelle der xx sollte eigentlich die letzte Zeile Deines zu erwartenden Datenbereiches stehen, also z.B. $K$200

Probier das mal aus, sollte eigentlich funzen.
Ach so ja, bei der ersten Formel nicht SPALTE()=6 , sondern SPALTE()=5.
6 wäre ja die Spalte F und es sollte doch wohl die Spalte E orange werden.

Sollte dem nicht so sein, daß in SPalte K die Werte aufsteigend sind, dann bitte nochmal erklären, was hier genau steht und bitte auch die eingetragenen Formeln.

CU Aliba

Antwort 10 von Hardwarehacker

Danke für deine Antwort

muss mir meinen geschriebenen Text nochmals durchlesen :=)

Melde mich wieder sobald ich es terminlich geschafft habe es auszuprobieren.

Also thx erstmal an alle die geholfen haben.

gez. Hardwarehacker

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: