Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fette Rahmenlinien bei bedingter Formatierung

Fette Rahmenlinien bei bedingter Formatierung
26.10.2014 21:16:59
trine
Hallo zusammen,
ich verwende ein Makro zum formatieren einer Tabelle, um sie übersichtlicher zu gestalten. In Spalte E sind untereinander Projektnamen eingetragen. Ändert sich der Projektname in der Spalte, sollen die Zeilen u.a. durch eine fette Linie getrennt werden. Mein Makro funktioniert super, wenn in den Zellen der Tabelle keine bedingten Formatierungen hinterlegt sind. Ist eine bedingte Formatierung in der Zelle enthalten, wird die Rahmenlinie nicht gezeichnet.
Hat jemand einen Tipp, wie ich die Trennlinien "durchgehend" in die Tabelle bekomme?
Viele Grüße
trine
Mein Makro sieht so aus:

Sub test()
Rows("22:5000").Select
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Columns("A:A").Select
Selection.ClearContents
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("E22:E5000").Select
Selection.Copy
Range("A22:A5000").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A22:BE5000").Select
ActiveWorkbook.Worksheets("Projekt").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Projekt").Sort.SortFields.Add Key:=Range("E22:E5000"), SortOn:=   _
_
_
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Projekt").Sort.SortFields.Add Key:=Range( _
"BD22:BD50"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Projekt").Sort
.SetRange Range("A22:BE5000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Dim Zelle1 As Range
Dim Zelle2 As Range
Set Zelle1 = Cells(22, 1) 'Startzelle
Do While Zelle1.Value  ""
Set Zelle2 = Zelle1.EntireColumn.Find(what:=Zelle1.Value, lookat:=xlWhole, searchdirection:= _
_
_
xlPrevious)
If Zelle2.Row > Zelle1.Row Then
Range(Zelle1.Offset(1, 0), Zelle2).ClearContents
Range(Zelle1, Zelle2).Merge
End If
Set Zelle1 = Zelle2.Offset(1, 0)
Loop
Dim aletzte As Long
Dim rng As Range
With ActiveSheet
' letzte benutzte Zeile ermitteln
aletzte = .Cells(Rows.Count, 5).End(xlUp).Row
With .Range("A22:CS" & aletzte)
.BorderAround LineStyle:=xlThin
.Borders(xlInsideHorizontal).LineStyle = xlThin
'.Borders(xlInsideHorizontal).Weight = xlThin
.Borders(xlInsideHorizontal).ColorIndex = 15
'.Borders(xlInsideVertical).LineStyle = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
.Borders(xlInsideVertical).ColorIndex = 15
.Borders(xlEdgeBottom).Weight = xlThick
End With
'' für jede weitere Zeile prüfen, ob ein neuer Tag beginnt
For Each rng In .Range("E22:E" & aletzte)
' tag darunter ungleich Tag darüber und Tag darunter nicht leer ?
If rng.Offset(1, 0).Value  rng.Value And rng.Offset(1, 0).Value  "" Then
' Strich ziehen ...
.Range(.Cells(rng.Row, 1), .Cells(rng.Row, 143)) _
.Borders(xlEdgeBottom).Weight = xlThick
.Range(.Cells(rng.Row, 1), .Cells(rng.Row, 143)) _
.Borders(xlEdgeBottom).ColorIndex = 1
End If
Next rng
End With
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fette Rahmenlinien bei bedingter Formatierung
27.10.2014 00:22:00
Ewald
Hallo,
bei bedingter Formatierung gibt es nur dünne Rahmen, diese mußt du aber auch dort einstellen.
Die bedingte Formatierung überdeckt den Zellenrahmen
Gruß Ewald

AW: Fette Rahmenlinien bei bedingter Formatierung
27.10.2014 07:54:39
trine
Hallo Ewald,
vielen Dank für Deine Antwort. Gibt es eine Möglichkeit, das Einfügen der fetten Trennlinie über einen VBA-Code trotz der bedingten Formatierungen zu erzwingen?
Viele Grüße
trine

Anzeige
AW: Fette Rahmenlinien bei bedingter Formatierung
27.10.2014 10:58:04
Ewald
Hallo trine,
das ist nicht möglich, da die bed. Formatierung die Zellformatierung überdeckt und in der bed.Formatierung fette Rahmen nicht möglich sind.
Bei großen Zellen könnte man eine Form drüberlegen,ohne Füllfarbe mit dickem Rahmen.
Für einen normalen Tabellenaufbau ist dies aber weniger geeignet.
Gruß Ewald

Anzeige
Das Erzeugen einer stärkeren Linie mit einem ...
27.10.2014 14:14:31
Luc:-?
…Makro dürfte trotz BedingtFormatierung genau dann kein Problem sein, Trine,
wenn die BedingtFormatierungen nichts an den ZellRahmen verändern, d.h., ihre entsprd FormatAbschnitte leer (Button Inhalte löschen deaktiviert=ausgegraut) sind, sonst nicht!
Gruß, Luc :-?

Anzeige
AW: Das Erzeugen einer stärkeren Linie mit einem ...
28.10.2014 07:34:13
trine
Hallo Luc,
ich habe die Zellrahmen aus der bedingten Formatierung rausgenommen, das hat leider nicht funktioniert. Jetzt habe ich die versucht, die Bedingte Formatierung in VBA zu schreiben. Wenn ich nur Fette Rahmen zeichnen will, funktioniert mein Code. Ich bekomme es aber nicht hin mit der zweiten Bedingung (priorität nach den fetten Rahmen),die Zelle einzufärben, wenn der Zellwert größer als "0" ist.
Kann mir da jemand weiterhelfen?
Mein Code sieht dafür so aus:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Range("BG22:BQ44").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=nicht($E22=$E23)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Borders(xlBottom).Weight = xlThick
End With
Range("BG22:BQ44").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=(NICHT(BG22=0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.599963377788629
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.599963377788629
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub

Anzeige
Dicke Linien im Bedingten Format
30.10.2014 12:53:08
Daniel
Hi
Die Bedingte Formatierung kann keine unterschiedlich dicken Rahmenlinien darstellen.
Sie kennt als .Weight nur xlThin.
Du kannst nur die Linienart oder die Farbe variieren.
wenn du über die Bedingte Formatierung bei einer Bestimmten Bediung (bsw: =A1="a") eine dicke linie brauchst, dann musst du so vorhehen:
1. die dicke Linie als normales Format einstellen.
2. als Bedingtes Format "keine Linie" wählen und die Bedingung invertieren (=A1"a")
Gruß Daniel

Anzeige
Dicke Linien im Bedingten Format
30.10.2014 15:16:45
Daniel
Hi
Die Bedingte Formatierung kann keine unterschiedlich dicken Rahmenlinien darstellen.
Sie kennt als .Weight nur xlThin.
Du kannst nur die Linienart oder die Farbe variieren.
wenn du über die Bedingte Formatierung bei einer Bestimmten Bediung (bsw: =A1="a") eine dicke linie brauchst, dann musst du so vorhehen:
1. die dicke Linie als normales Format einstellen.
2. als Bedingtes Format "keine Linie" wählen und die Bedingung invertieren (=A1"a")
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fette Rahmenlinien bei bedingter Formatierung


Schritt-für-Schritt-Anleitung

Um fette Rahmenlinien in einer Excel-Tabelle mithilfe der bedingten Formatierung zu erstellen, kannst du folgende Schritte befolgen:

  1. Öffne Excel und erstelle eine neue Tabelle oder öffne eine bestehende.
  2. Wähle den Bereich aus, für den du die bedingte Formatierung anwenden möchtest.
  3. Gehe zum Tab "Start", klicke auf "Bedingte Formatierung" und wähle "Neue Regel".
  4. Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden" und gib deine Bedingung ein. Beispiel:
    =A1="DeinKriterium"
  5. Klicke auf die Schaltfläche "Format" und gehe zum Tab "Rahmen".
  6. Wähle hier dünne Rahmenlinien aus, da die bedingte Formatierung keine dicken Rahmenlinien unterstützt.
  7. Klicke auf OK, um die Regel anzuwenden.

Hinweis: Um fette Linien zu erzeugen, musst du möglicherweise die Standardrahmenlinien ändern, bevor du die bedingte Formatierung anwendest.


Häufige Fehler und Lösungen

  • Problem: Die Rahmenlinien werden nicht angezeigt.

    • Lösung: Stelle sicher, dass du die Rahmenlinien in der bedingten Formatierung korrekt eingestellt hast. Überprüfe, ob die Zellen eventuell ausgegraut sind, da dies die Sichtbarkeit der Rahmenlinien beeinträchtigen kann.
  • Problem: Fette Linien werden nicht angezeigt.

    • Lösung: Die bedingte Formatierung unterstützt keine dicken Rahmenlinien. Du kannst jedoch die Rahmenlinien manuell anpassen, bevor du die bedingte Formatierung anwendest.

Alternative Methoden

Wenn du fette Rahmenlinien in einer Tabelle darstellen möchtest, ohne die Einschränkungen der bedingten Formatierung zu nutzen, kannst du folgende Alternativen ausprobieren:

  1. Verwendung von VBA: Erstelle ein Makro, das die Rahmenlinien beim Ändern von Zellwerten automatisch aktualisiert.
  2. Formen verwenden: Füge eine Form ohne Füllfarbe hinzu und setze die Umrandung auf dick. Diese Methode kann jedoch bei großen Tabellen unpraktisch sein.
  3. Dynamische Diagramme: Erstelle ein Diagramm, das die Daten visuell darstellt, und passe die Linienarten dort an.

Praktische Beispiele

Hier ist ein Beispiel für ein einfaches VBA-Makro, das dicke Rahmenlinien unabhängig von der bedingten Formatierung hinzufügt:

Sub DickeRahmenlinie()
    Dim Zelle As Range
    For Each Zelle In Range("A1:A10")
        If Zelle.Value <> "" Then
            Zelle.Borders(xlEdgeBottom).Weight = xlThick
        End If
    Next Zelle
End Sub

Führe dieses Makro aus, um dicke Rahmenlinien unter den Zellen in Spalte A zu erstellen, wenn sie nicht leer sind.


Tipps für Profis

  • Priorität von Regeln: Achte darauf, dass die Priorität der bedingten Formatierungen korrekt eingestellt ist, um Konflikte zu vermeiden. Du kannst die Priorität der Regeln über den Menüpunkt "Bedingte Formatierung" verwalten.
  • Verwendung von Farben: Experimentiere mit der Excel priorität farbe, um visuelle Trennungen zwischen verschiedenen Daten zu schaffen. Dies kann in Kombination mit Rahmenlinien sehr effektiv sein.
  • Rahmenlinien automatisch hinzufügen: Überlege, ob du ein Makro erstellen kannst, das automatisch die Rahmenlinien entsprechend deiner Kriterien anpasst, sodass du manuelle Anpassungen minimierst.

FAQ: Häufige Fragen

1. Kann ich dicke Rahmenlinien in der bedingten Formatierung verwenden?
Nein, die bedingte Formatierung in Excel unterstützt nur dünne Rahmenlinien. Du kannst jedoch die Standardrahmenlinien vorher anpassen.

2. Wie kann ich sicherstellen, dass die Rahmenlinien sichtbar sind?
Überprüfe, dass die Zellen nicht ausgegraut sind und dass die Rahmenlinien in der bedingten Formatierung korrekt eingestellt sind. Manchmal kann das Überlagern von Formatierungen die Sichtbarkeit beeinträchtigen.

3. Gibt es eine Möglichkeit, die Rahmenlinien nach der bedingten Formatierung zu ändern?
Ja, du kannst ein VBA-Makro verwenden, um die Rahmenlinien nach der Anwendung von bedingten Formatierungen entsprechend anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige