Moin zusammen,
ich hänge mal wieder fest.
In einem File werden zwei Spalten (immer andere) am Ende eines Prozesses markiert.
Jetzt möchte die Zellen der markierten Spalten rund herum einrahmen sowie Linienstärke und Farbe anpassen.
Zum Ausprobieren fand ich als Ausgangsbasis diesen Code:
Code:
Worksheets("Sheet1").Range("A1:D4").BorderAround _
ColorIndex:=3, Weight:=xlThick
Range ("A1:D4") geht ja nicht und so dachte ich an.
Range(ActiveCell.Column)
Egal was ich ausprobierte, es war immer der berühmte Satz mit X.
Wer würde mir hier weiterhelfen?
Gruß
Björn
Hallo Björn,
so sollte es funktionieren.
Code:
Sub test()
With Worksheets("Sheet1").Range("A1:D4").Select
With Selection.Borders(xlEdgeLeft)
.ColorIndex = 3
.Weight = xlThick
End With
With Selection.Borders(xlEdgeTop)
.ColorIndex = 3
.Weight = xlThick
End With
With Selection.Borders(xlEdgeBottom)
.ColorIndex = 3
.Weight = xlThick
End With
With Selection.Borders(xlEdgeRight)
.ColorIndex = 3
.Weight = xlThick
End With
End With
End Sub
Mit RGB, hast du jedoch mehr Farben zur Auswahl, als mit ColorIndex
Code:
Sub Test_RGB()
With Worksheets("Sheet1").Range("A1:D4").Select
With Selection.Borders(xlEdgeLeft)
.Color = RGB(255, 0, 0)
.Weight = xlThick
End With
With Selection.Borders(xlEdgeTop)
.Color = RGB(255, 0, 0)
.Weight = xlThick
End With
With Selection.Borders(xlEdgeBottom)
.Color = RGB(255, 0, 0)
.Weight = xlThick
End With
With Selection.Borders(xlEdgeRight)
.Color = RGB(255, 0, 0)
.Weight = xlThick
End With
End With
End Sub
RGB(Rot Wert, Grün Wert, Blau Wert)
Max Wert je Farbe = 255
Min Wert je Farbe = 0
Werte zwischen Min und Max = Misch Werte
Einfach einmal Testen.
Hallo Björn,
prüfe einmal mit Worksheets("Tabelle1"), oder Worksheets("Sheet1"), je nach deiner Tabellen-Version, in deutscher-, oder englischer- Schreibweise.
Es ist auch so möglich:
Code:
Sub Bei_deutschem_Excel_ColorIndex()
Worksheets("Tabelle1").Range("A1:D4").BorderAround _
ColorIndex:=3, Weight:=xlThick
End Sub
Code:
Sub Bei_deutschem_Excel_RGB()
Worksheets("Tabelle1").Range("A1:D4").BorderAround _
Color:=RGB(255, 0, 0), Weight:=xlThick
End Sub
Hallo Karl,
ich danke Dir für Deine Lösungen und werde diese testen.
Da die Zellen, die gerahmt werden, nicht bekannt sind, funktionieren Deine BorderAround Lösungen nicht.
Wie bereits beschrieben, am Ende eines Prozesses sind zwei Spalten markiert, die sich täglich ändern.
Also muss der Ansatz zum Rahmen (BorderAround) irgendwie mit den markierten Spalten in Zusammenhang gebracht werden.
Gruß
Björn
Moin!
Da ich immer noch nicht genau weiß, welche Rahmen Du haben willst:
Selection.BorderAround ,xlThick, 3
ergibt einen
umgebenden Rahmen.
[
attachment=42196]
With Selection.Borders
.Weight = xlThick
.ColorIndex = 3
End With
markiert alle Gitternetzlinien.
[
attachment=42197]
Man sollte aber zur Sicherheit vorher prüfen, dass tatsächlich ein Bereich (und nicht etwa ein Shape oder ein Diagramm) selektiert ist mittels
If TypeName(Selection) = "Range" Then
Die Aufschlüsselung aller Indices der Border-Auflistung, wie sie der Makrorekorder aufzeichnet, ist flüssiger als Wasser.
Gruß Ralf