Registriert seit: 16.10.2020
Version(en): 2016
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
Registriert seit: 14.05.2017
Version(en): MS Office Prof. Plus 2016_32-Bit
12.02.2022, 10:12
(Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2022, 10:27 von hddiesel.)
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.
Gruß Karl
Registriert seit: 14.05.2017
Version(en): MS Office Prof. Plus 2016_32-Bit
12.02.2022, 10:49
(Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2022, 10:51 von hddiesel.)
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
Gruß Karl
Registriert seit: 16.10.2020
Version(en): 2016
12.02.2022, 11:28
(Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2022, 11:37 von Björn.412.)
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
12.02.2022, 12:11
(Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2022, 12:11 von RPP63.)
Moin!
Da ich immer noch nicht genau weiß, welche Rahmen Du haben willst:
Selection.BorderAround ,xlThick, 3ergibt einen
umgebenden Rahmen.
With Selection.Borders .Weight = xlThick .ColorIndex = 3End Withmarkiert alle Gitternetzlinien.
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" ThenDie Aufschlüsselung aller Indices der Border-Auflistung, wie sie der Makrorekorder aufzeichnet, ist flüssiger als Wasser.
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)