Ich denke, es gibt eine Möglichkeit in VBA, die 4 Wandgrenzen für jede Zelle in einem Bereich zu setzen, aber ich muss noch herausfinden oder eine finden. Grundsätzlich möchte ich einen Bereich wie (A1: R780), um alle ein eigenes Quadrat zu haben.
möglicherweise duplizieren http://stackoverflow.com/questions/13121425/border-around-each-cell-in-a-range
Musselman vor 8 Jahren
1
Die einfachere Frage sah Stack Over Flow nicht an, da es sich nicht wirklich um eine Programmierfrage handelt.
Crazyd vor 6 Jahren
0
2 Antworten auf die Frage
1
damik_
Ich kenne keinen effizienteren Weg als diesen.
With Range("A1:R780") .Borders(xlInsideVertical).LineStyle = xlContinuous .Borders(xlInsideHorizontal).LineStyle = xlContinuous .BorderAround xlContinuous End with
Ich glaube, das würde auch funktionieren.
Range(“A1:R780").Borders.LineStyle = xlContinuous
Danke, ich habe tatsächlich einen viel komplexeren Weg gefunden ... wahrscheinlich 10 Minuten, bevor Sie geantwortet haben ... Ich habe gerade geprüft, ob es einen einfacheren Weg gibt ... Ich hatte im Grunde 6 Befehle, um die gleichen grundlegenden Dinge zu tun . Der zweite hat nicht funktioniert, aber der mit Range hat funktioniert.
Crazyd vor 8 Jahren
0
0
Crazyd
So habe ich es gemacht ... Die Fehlerzeile ist für den Fall, dass der Bereich keine vertikalen oder horizontalen Linien hat. Ursprünglich habe ich BorderAround nicht verwendet. Ich habe xlEdgeBottom, xlEdgeTop, xlEdgeLeft, xlEdgeRight verwendet.
Ich musste call 5 mal aka Grund verwenden, um es zu einer Subroutine zu machen, und sie waren dynamisch.
Beispielanruf
Call BoxIt(Range("A1:z25"))
Subroutine
Sub BoxIt(aRng As Range) On Error Resume Next With aRng 'Clear existing .Borders.LineStyle = xlNone 'Apply new borders .BorderAround xlContinuous, xlThick, 0 With .Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .Weight = xlMedium End With With .Borders(xlInsideHorizontal) .LineStyle = xlContinuous .ColorIndex = 0 .Weight = xlMedium End With End With End Sub