1.3k Aufrufe
Gefragt in Tabellenkalkulation von
hallo!

in meiner tabelle gehören immer 7 spalten einer zeile zusammen = 1
woche.

zB. B14-H14

1) wenn in B14 "G" steht, wird alles in B14 bis H14 hellgrau
geschrieben und durchgestrichen.
2) wenn in B14 "D" steht, bekommen die zellen B14 bis H14 blau
hintergrund.
3) wenn in der zelle F14 das wort "NEU" enthalten wird, wird der
zelleninhalt von F14 rot geschrieben.

--> dies soll sich in jeder weiteren zeile (B15-H15, B16-H16, ....) auch
so sein
--> auch in den weiteren wochen (also in den nächsten 7-Spalten
"blöcken" (I14-O14, P14-V14, .... ) UND natürlich auch in den
weiteren zeilen (I15-O15, I16-O16...... P15-V15, P16-V16,....)

Ich habe das (vermutlich laienhaft) mit bedingten formatierungen
gemacht.

gibt es eine einfachere lösung? das speichern nach eingabe dauert
leider länger - ich vermute wegen der vielen bedingten
formatierungen.

ich wäre für euren input und eure hilfe sehr dankbar.
ich hoffe, meine erklärung ist nachvollziehbar und klar.

liebe grüße & danke im voraus
bidschey

6 Antworten

0 Punkte
Beantwortet von
nochmal Hallo,

Es muss nicht unbedingt an den Formatierungen liegen. Drück mal
auf jedem Tabellenblatt die Tastenkombination STRG+Ende. Bis zu
dieser Zeile/Spalte wird das Blatt gespeichert. Lösche also alle
überflüssigen Zeilen/Spalten bis zum eigentlichen Ende deiner
Daten heraus. Nach dem Speichern/Schließen und Neuöffnen der
Datei sollte es flüssiger gehen.

Auch zu viele Shapes im Blatt oder zu viele große Matrixformeln
können das Speichern verlangsamen. Zu viel von etwas ist
eigentlich immer schlecht, wobei die Grenzen schon recht
großzügig gelegt sind, bevor man überhaupt etwas merkt.

Sollte es also tatsächlich an zu vielen Bedingten Formatierungen
liegen, dann hast du wahrscheinlich für jede Zeile eine eigene
Formel hinterlegt, was bei einem relativen Zellbezug in der Formel
eigentlich trotzdem kein Problem darstellen sollte. Aber versuch's
mal mit folgenden Formeln:

für hellgrau
=INDIREKT("B"&ZEILE())="G"
für blau
=INDIREKT("B"&ZEILE())="D"
für rot
=INDIREKT("F"&ZEILE())="NEU"

Das ganze anwenden auf den gesamten Bereich von B14 bis
Hfünfhundertirgendwas. Kannst du z.B. mithilfe des Pinsel-Symbols
auf den gesamten Bereich übertragen.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo Community ^^

Ein Ansatz für unsere VBA Freaks!
Ein Ersatz seiner Bedingten Formatierung

Gruss Nighty

Eine Dynamische 7 Spalten Schritt Abfrage mit Abftage auf die ersten drei Zellen eines 7 Blockes an beliebiger Position!

Abfrage zur Zeit
G in der ersten spalte eines 7 Blocks=Rot Färbung
M in der zweiten spalte ines 7 Blocks=Farbe löschen
F in der dritten spalte eines 7 Blocks=mit Text Füllen

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim Banfang As Integer, Bende As Integer
If Target.Row > 1 And Selection.Count = 1 Then
Banfang = Int((Target.Column + 7) / 7)
Bende = Banfang * 7 - 6
If UCase(Cells(Target.Row, Bende)) = "G" Then
Range(Cells(Target.Row, Bende), Cells(Target.Row, Bende + 6)).Interior.ColorIndex = 3
End If
If UCase(Cells(Target.Row, Bende + 1)) = "M" Then
Range(Cells(Target.Row, Bende), Cells(Target.Row, Bende + 6)).Interior.ColorIndex = xlNone
End If
If UCase(Cells(Target.Row, Bende + 2)) = "F" Then
Range(Cells(Target.Row, Bende), Cells(Target.Row, Bende + 6)) = "3 Spalte"
End If
End If
Application.EnableEvents = True
End Sub
0 Punkte
Beantwortet von
Hallo Community ^^

Einzufügen
Alt+F11/Projectexplorer/DeineTabelle

War nur als Ansatz gedacht,keine Zeit zum einarbeiten.

Gruss Nighty
0 Punkte
Beantwortet von
Hallo Mr. K.!

Hier flutscht´s leider nicht so :-)

1) Da die Zeilen erst befüllt werden & nicht absehbar ist, wie viele
pro Woch, habe ich dennoch auf 200 Zeile reduziert - sollte sich
ausgehen.
--> keine Speicherverbesserung

2) Spalten hatte ich ohnehin nur jene, die ich brauche - also für 52
Wochen (pro Woche 7 Spalten --> 52x7 + 1 Text/Infospalte)

Danke für die Formeln. Das Problem: Diese werden auf die gesamte
Zeile angewandt. Ich habe Zelleneinheiten von 7 Zellen.

B14-H14, B15-H15, B16-H16, ... UND --> dies stellt eine Woche dar
I14-O14, I15-O14, I16-O16, ....
P14-V14, P15-V15, P16-V16, ..... bis zu
MU14-NA14, MU15-NA15, MU16-NA16, ....

WENN
1) in B14 "G" steht, dann soll B14-H14 hellgraue, durchgestrichene
Schrift haben
dies soll für alle weiteren Zelleneinheiten auch so sein.
2) und 3) siehe meine 1. Anfrage (oben)

Ich denke, wenn ich deine INDIREKT-Formeln entsprechend ändere
(wenn das möglich ist ;-)) und runterkopiere, dann bin ich
formelmäßig dort, wo ich jetzt mit meiner bedingten Formatierung
schon bin.

Durch das kopieren der formatierten Zellen, steht in jeder Zelle -
wenn man bei BedingteFormatierung/RegelnVerwalten nachsieht -
bei "wird angewendet auf" eine eeeeewig lange Zeile. Ich
experimentiere jetzt bei den Formeln herum ($B$14 oder $B14, ....)
beim kopieren hänge ich aktuell fest... da ist der Bezug dann noch
der falsche.

Oder hast du eine andere Idee????
Wäre - wie immer - dankbar für jeden Input.

Liebe Grüße & schönes Wochenende.
Bidschey
0 Punkte
Beantwortet von
Hallo bidschey,
Danke für die Formeln. Das Problem: Diese werden auf die gesamte
Zeile angewandt. Ich habe Zelleneinheiten von 7 Zellen.

Dann kopiere das Format eben nur für den gewünschten Bereich! Drücke STRG+A und lösche alle Bedingten Formatierungen. Dann erstelle deine Bedingung neu. Es sollten lediglich 3 Regeln sein.

Ich denke, wenn ich deine INDIREKT-Formeln entsprechend ändere
(wenn das möglich ist ;-)) und runterkopiere, dann bin ich
formelmäßig dort, wo ich jetzt mit meiner bedingten Formatierung
schon bin.

Sag ich ja. Es sollte keinen Unterschied machen. Falls aber doch war das eine Idee zur alternativen Lösung.

Durch das kopieren der formatierten Zellen, steht in jeder Zelle -
wenn man bei BedingteFormatierung/RegelnVerwalten nachsieht -
bei "wird angewendet auf" eine eeeeewig lange Zeile.

Bei mir steht da nur der Bereich. Oder hast du deine Bedingung in einer anderen Datei? Was steht denn da genau?

Ich experimentiere jetzt bei den Formeln herum ($B$14 oder $B14, ....)
beim kopieren hänge ich aktuell fest... da ist der Bezug dann noch
der falsche.

Damit bist du schon auf dem richtigen Weg: Wichtig ist, dass sich die aktive Zelle bei Erstellung der Formel auch eine Zelle in Zeile 14 befinden muss. Dann lautet die Formel =$B14="D". Dann einfach kopieren den gewünschten Bereich markieren und einfügen. Oder auf das Pinsel-Symbol gehen und dann den gewünschten Bereich markieren um das Format zu übertragen.
Lass dich nicht verwirren wenn du die Formel für eine andere Zeile abfragst und dort immer noch B14 steht. Es wird immer die Formel für die obere linke Zelle des angewandten Bereichs angezeigt. Die automatische Formatierung klappt trotzdem. Weitere gleichartige Regeln für andere Zeilen sind nicht nötig. Du solltest also innerhalb des gesamten Bereichs immer nur deine gleichen drei Regeln sehen. Mehr gibt's nicht.

Falls es gar nicht klappen mag, dann lad doch mal eine Beispiel-Datei mit Dummydaten hoch. Dann können wir uns das mal näher ansehen.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo!

Entschuldigt, dass ich mich jetzt erst melde - viel zu tun & somit so gut wie keine Zeit, an der Tabelle
weiter zu arbeiten.

Danke für Eure Hilfe. Bin bei der bedingten Formatierung geblieben - habe alle nochmals bereinigt.
Schneller ist die Tabelle dadurch leider auch nicht geworden. Habe auch div. "Verhübschungen"
wieder gelöscht, die es ev verlangsamen könnten. Kommt mir auch nicht schneller vor. Ich vermute, wir
müssen damit leben.

Danke nochmals für Eure Unterstützung!!!!

Liebe Grüße - bidschey
...