248 Aufrufe
Gefragt in Tabellenkalkulation von radi38 Einsteiger (7 Punkte)
Hallo

Habe eine Reihe von Tabellendokumenten mit jeweils 3-12 Tabellen erstellt.

Zweck, Auswertung verschiedener Artikel.

Der Aufbau (Spaltenanzahl, -bezeichnung und Formatierung) ist immer gleich.

Nun habe ich drei Spalten dieser Tabellen mit bedingten Formatierungen versehen. Diese sind in ihrer Form unterschiedlich (Farbe, Schriftgröße etc.) Das möchte ich ändern

Jetzt habe ich ein leeres Dokument erstellt und es meinen Vorstellungen entsprechend gestaltet.

Die in diesem Dokument vorhandenen Vorlagen „bedingte Formatierung“ möchte ich in meine vorhandenen Tabellendokumente übertragen.

Meine Vorstellung :

In den vorhandenen Tabellendokumenten jeweils eine leere Tabelle erzeugen. Die neuen bedingten Formatierung rein kopieren um diese dann mittels Pinsel in die jeweils vorhandene Spalten der einzelnen Tabellen einfügen.

Das mit dem Pinsel funktioniert ja leider nicht von Dokument zu Dokument.

Wenn das nicht klappt muss ich in jedem Tabellendokument die bedingte Formatierung manuell erstellen.

Hoffe, habe mich verständlich ausgedrückt. Is‘ gar nicht so leicht.

Gruß

Radi

26 Antworten

0 Punkte
Beantwortet von m-o Profi (12.2k Punkte)

Hallo Radi,

du hast geschrieben:

Das mit dem Pinsel funktioniert ja leider nicht von Dokument zu Dokument.

Doch, das geht. Es geht auch, dass du mehrere Tabellen in einer Arbeitsmappe markierst und dann mit dem Pinsel die bedingte Formatierung überträgst. Das wirkt sich dann auf alle markierten Zieltabellen aus (jedenfalls bei Office 2010).

Probleme könnte es höchstens bei Formeln in der bedingten Formatierung geben, wenn die Bezüge nach dem Übertrag nicht mehr stimmen.

Gruß

M.O.

0 Punkte
Beantwortet von robbi58 Mitglied (373 Punkte)
Bearbeitet von robbi58
Ich möchte gleich eine Frage zu diesem Thema anschließen!

Ich habe eine Tabelle mit größtenteils unterschiedlichen Zahlen:

In der Zelle A2 steht der Wert 20, in der Zelle A3 der Wert 30 usw. Mittels bedingter Formatierung (=20) wird bei diesem Wert die Zelle grün eingefärbt. Mit dem Pinsel kann ich diese Formatierung auf alle Zellen mit dem Wert 20 übertragen. Gibt es eine Möglichkeit, dass die bedingte Formatierung automatisch den Zellenwert übernimmt? Momentan gehe ich so vor, dass ich entweder die Formatierung aus A2 mit dem Pinsel übertrage und dann die Regel ändere oder jede einzelne Zelle mit (gleich usw. einzeln formatiere). Sehr umständlich und langwierig.

Danke Robert
+1 Punkt
Beantwortet von m-o Profi (12.2k Punkte)

Hallo Robert,

das geht leider nicht. Das kannst du aber mit einem Makro machen:

Sub bedingte_Formatierung()
'mit dem Makro wird eine bedingte Formatierung in die aktive Zelle eingefügt
'steht z.B. in Zelle A1 der Wert 20 so wird als bedingte Formatierung die Formel
'=A1=20
'eingefügt und die Zelle Grün gefärbt

With ActiveCell
 .FormatConditions.Add Type:=xlExpression, Formula1:="=" & .Address & "=" & .Value
 .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
 .FormatConditions(1).Interior.ColorIndex = 4
 .FormatConditions(1).StopIfTrue = False
End With

End Sub

Kopiere das Makro in ein Standardmodul deiner Tabelle.

Gruß

M.O.

0 Punkte
Beantwortet von radi38 Einsteiger (7 Punkte)
Hallo,

als Nutzer und mit der Materie nicht so vertraut, werde ich den für mich einfachsten Weg wählen.

In den einzelnen Dokumenten eine leere Tabelle erstellen und die entsprechenden „Bedingten Formatierungen“ vornehmen und dies dan mit Doppelklick auf den Pinsel entsprechend verteilen.

Das Andere ist für mich einfach zu kompliziert.

Bedanke mich für die Informationen.

Gruß

Radi
0 Punkte
Beantwortet von robbi58 Mitglied (373 Punkte)
Bearbeitet von robbi58
Hallo Radi und M.O.

Ich wollte gestern gerade eine Frage zum Thema  bedingte Formatierung ins Forum stellen und wie es der Zufall wollte, hast du, Radi, gerade eine ähnliche Frage gestellt. Deshalb habe ich meine Frage in deinen thread gleich hinzugefügt. Danke an M.O., weil deine Formel genau das ist, was ich zum Bearbeiten meiner Dokumente benötige. Damit entfällt die mühsame  "Pinselarbeit" und bei jedem Arbeitsblatt erspare ich mir gefühlte 300 Klicks.

Recht herzlichen Dank.
0 Punkte
Beantwortet von robbi58 Mitglied (373 Punkte)
Eine Frage ans Forum!

Ich verwende gerade das oben gepostete Makro. Jetzt müsste ich es auf einen Text anwenden. Das erfordert eine kleine Änderung (ich nehme an die Zeile mit "... formula1..."). Guter Rat ist teuer.

Danke Robert
+1 Punkt
Beantwortet von m-o Profi (12.2k Punkte)

Hallo Robert,

hier das geänderte Makro:

Sub bedingte_Formatierung()
'mit dem Makro wird eine bedingte Formatierung in die aktive Zelle eingefügt
'steht z.B. in Zelle A1 der Wert 20 so wird als bedingte Formatierung die Formel
'=A1=20
'eingefügt und die Zelle Grün gefärbt

With ActiveCell
 If IsNumeric(.Value) Then    'prüfen ob Zahl
    .FormatConditions.Add Type:=xlExpression, Formula1:="=" & .Address & "=" & .Value
   Else 'falls Text
     .FormatConditions.Add Type:=xlExpression, Formula1:="=" & .Address & "=""" & .Value & """"
 End If
 .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
 .FormatConditions(1).Interior.ColorIndex = 4
 .FormatConditions(1).StopIfTrue = False
End With

End Sub

Im Makro wird jetzt geprüft ob eine Zahl oder ein Text in der Zelle steht und dann entsprechend die Formel für die bedingte Formatierung eingefügt.

Gruß

M.O.

0 Punkte
Beantwortet von robbi58 Mitglied (373 Punkte)
Bearbeitet von robbi58
Hallo M.O.

Danke für deine Hilfe. Das neue Makro habe soeben getestet und es funktioniert, eigentlich wie gewohnt, einwandfrei.

Robert
0 Punkte
Beantwortet von robbi58 Mitglied (373 Punkte)
Ein Hallo ans Forum!

Eine Frage zum Makro hätte ich noch: wenn ich z. B. in der Zelle D2 einen Bezug (=A2) eingebe, der dann z. B. den Wert 7 anzeigt. Dann wird in die bedingte Formatierung der Wert 7 übernommen. Kann man auch den Bezug in die bedingte Formatierung über das Makro übernehmen?

Ich erzeuge immer ein sogenanntes Vorlagenblatt mit den richtigen Lösungen (das mache ich mittels Bezug, weil ich über den CommandButton die Werte stets neu generiere). Nun möchte ich diese Bezüge in die bedingte Formatierung übernehmen, bevor ich die Werte (Bezüge) in den Zellen per Makro wieder lösche, um ein Übungsblatt für die SchülerInnen zu erzeugen.

Danke für eure Hilfe, Robert.
+1 Punkt
Beantwortet von m-o Profi (12.2k Punkte)

Hallo Robert,

hier das erweiterte Makro:

Sub bedingte_Formatierung()
'mit dem Makro wird eine bedingte Formatierung in die aktive Zelle eingefügt
'steht z.B. in Zelle A1 der Wert 20 so wird als bedingte Formatierung die Formel
'=A1=20
'eingefügt und die Zelle Grün gefärbt
'steht in der Zelle ein Formel, so wird die Formel in die bedingte Formatierung übernommen
'falls ein Text in der Zelle steht, wird dieser Text in die Formel für die bedingte Formatierung übernommen

With ActiveCell
 'Überprüfen ob Formel in Zelle steht
 If .HasFormula = True Then
   .FormatConditions.Add Type:=xlExpression, Formula1:="=" & .Address & .Formula
  Else
    If IsNumeric(.Value) Then    'prüfen ob Zahl
        .FormatConditions.Add Type:=xlExpression, Formula1:="=" & .Address & "=" & .Value
      Else 'falls Text
        .FormatConditions.Add Type:=xlExpression, Formula1:="=" & .Address & "=""" & .Value & """"
    End If
  End If
 .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
 .FormatConditions(1).Interior.ColorIndex = 4
 .FormatConditions(1).StopIfTrue = False
End With

End Sub

Gruß

M.O.

...