Rahmen nur für gefüllte Zellen
#1
Hallo zusammen,

ich hoffe ihr könnt mir wieder einmal weiterhelfen.
Ich würde gerne in einer Tabelle einen Rahmen nur um gefüllte Zellen erstellen.

Ich habe dafür ein entsprechendes Makro gefunden das soweit auch gut funktioniert:

Code:
Sub Test()

Dim rBereich  As Range
Dim rZelle    As Range

    Set rBereich = Range("A3:I999")
    
    Application.ScreenUpdating = False
    
    For Each rZelle In rBereich
       If Trim$(rZelle) <> "" Then
          rZelle.BorderAround xlContinuous, xlThin
        Else
          rZelle.Borders.LineStyle = xlNone ' alle Linien löschen
       End If
    Next rZelle

End Sub

'#########################################################################################

    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ThemeColor = 5
        .TintAndShade = 0.399945066682943
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ThemeColor = 5
        .TintAndShade = 0.399945066682943
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ThemeColor = 5
        .TintAndShade = 0.399945066682943
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ThemeColor = 5
        .TintAndShade = 0.399945066682943
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 5
        .TintAndShade = 0.399945066682943
        .Weight = xlThin
    End With
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Ich möchte die Rahmenlinien allerdings nicht in schwarz sondern in einem bestimmten blau haben (so wie unterhalb der # ersichtlich).

Ich hoffe ihr könnt mir dabei helfen das entsprechend zu adaptieren.

Ich vermute das muss irgendwo hier hin?
rZelle.BorderAround xlContinuous, xlThin
Hab zwar schon versucht ThemeColor = 5 und TintAndShade = 0.399945066682943 zu ergänzen, aber irgendwie klappt das noch nicht wie gewünscht...

Vielen Dank und lg

Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Top
#2
Hallo Olli,

vielleicht so?

Code:
Sub Test()

Dim rBereich  As Range
Dim rZelle    As Range

    Set rBereich = Range("A3:I999")
    
    Application.ScreenUpdating = False
    
    For Each rZelle In rBereich
       If Trim$(rZelle) <> "" Then
          rZelle.BorderAround xlContinuous, xlThin
          With rZelle.Borders
            .ThemeColor = 5
            .TintAndShade = 0.399945066682943
          End With
       Else
          rZelle.Borders.LineStyle = xlNone ' alle Linien löschen
       End If
    Next rZelle

End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • friedensbringer
Top
#3
Hallo Stefan,

vielen Dank - so einfach kanns gehen! :23:

Da macht man doch gleich noch lieber Feierabend!

lg

Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Top
#4
Hi!
Mal ne blöde Frage:
Da Du ja nur eine dünne (blaue) Linie benötigst, warum nicht einfach per bedingter Formatierung?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste