Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rahemnzaubereien per VBA

Rahemnzaubereien per VBA
18.04.2007 17:14:14
Thomas
Hallöchen,
wenn ich um den Bereich F8 bis H14 einen dicken grauen Rahmen ziehen will und dann eine doppelte senkrechte Linie einfügen möchte und dahinter eine normale Linie, ist das vom Makroeditor der richtige Weg? Man kann nicht einfach Eckpunkte angeben und 'sagen' RAHMEN?
Und man muss über select gehen und kann nicht direkt die Range angeben? Also am einfachsten, da ich ja mit Laufvariablen arbeite wäre etwas wie
x=6
y=8
Range(Cells(y,x), Cells(y+6,x+2) ).Rahmen
Range(Cells(y+1,x+1), Cells(y+6,x+1) ).LinieLinksDoppelt
Range(Cells(y+1,x+2), Cells(y+6,x+2) ).LinieLinksEinfach
oder so in der Art.
Muss man das immer so umständlich mit xlNone und der jeweiligen Angabe
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
für jeden Bereich machen?
Ich hatte gehofft, dass obiges Problem _elegant_ mit 3 Zeilen lösbar wäre. Eben einmal Rahmen und 2 Linien...
Kann mir da jemand, wenn das denn geht, weiterhelfen?
Tommi
Range("F8:H14").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("G9:G14").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 48
End With
Selection.Borders(xlEdgeTop).LineStyle = xlNone
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("H9:H14").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 48
End With
Selection.Borders(xlEdgeTop).LineStyle = xlNone
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rahemnzaubereien per VBA
18.04.2007 17:50:12
Andi
Hi,
das könnte zB so aussehen:

Sub t()
Dim x As Long, y As Long
x = 6
y = 8
Range(Cells(y, x), Cells(y + 6, x + 2)).BorderAround LineStyle:=xlContinuous, Weight:=xlThick,  _
ColorIndex:=48
With Range(Cells(y + 1, x + 1), Cells(y + 6, x + 1)).Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 48
End With
With Range(Cells(y + 1, x + 1), Cells(y + 6, x + 1)).Borders(xlEdgeRight)
.LineStyle = xlDouble
.Weight = xlThin
.ColorIndex = 48
End With
End Sub


Schönen Gruß,
Andi

AW: Rahemnzaubereien per VBA
20.04.2007 16:38:00
Thomas
Hallo Andi,
nun hab ichs doch glatt vergessen mein Dankeschön zu schreiben, das war perfekt, ich finde das zwar immer noch länger als gewünscht, aber damit bin ich super hingekommen. Passt alles und ich habe es, etwas modifiziert eingebaut.
Eine Sache aber noch, solche Sachen wie .LineStyle = xlDouble, nimmt VBA da irgendeine Voreinstellung oder evtl. immer die letzte benutzte Angabe?
Danke auf alle Fälle mal !
Tommi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige