Hallo,
mit Hilfe von Gerd und Tom plus meiner vielen Teilstücke an Codes ist das für den Anfang dabei heraus gekommen. Leider hat sich noch ein kleiner Fehler eingeschlichen
Sub BoardErstellen() ' Mit Unterstützung von Gerd L und Crazy Tom
Dim i As Integer
With Sheets("Turnier-Board")
Cells.Interior.ColorIndex = 1 ' Hintergrund wird schwarz eingefärbt
Columns(120).ColumnWidth = 3.29
Union(Columns(108), Columns(110), Columns(112), Columns(114), Columns(116), Columns(118), _
Columns(122), Columns(124), Columns(126), Columns(128)).ColumnWidth = 2.29 ' _
Spaltenbreite wird zugewiesen
' " Die blauen Linien dienen in der Test und Lernphase quasi als Hilfslinien "
With Rows("10").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 5
End With
With Columns(112).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 5
End With
With Columns(126).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 5
End With
' " Voriger Teil wird nur 1x benötigt und braucht somit nicht mit in die Schleife "
' " Rahmen werden erstellt Bereich Zeile 2 - Zeile 10 "
Range("DL6:DM6").MergeCells = True ' ! Beim Kopieren des Bereichs DH2-DV10 bleibt die _
Formatierung nicht erhalten !
Range("DP2,DQ2,DR2,DN3,DO3,DS3,DT3,DK4,DP4,DQ4,DR4,DM5,DU5,DG6,DL6,DM6,DU6,DV6,DP7,DQ7,DR7, _
DJ8,DK8,DN8,DO8,DS8,DT8,DJ9,DK9:DL9,DP9,DQ9,DR9,DH10,DI10,DW10") _
.BorderAround LineStyle:=xlContinuous, Weight:=xlMedium, ColorIndex:=2
' !!! Syntax für .Borders(xlEdgeLeft),.Borders(xlEdgeRight)usw. geht nur über ein With- _
Anweisung !!!
With Range("DN4,DJ4:DJ7,DL7,DW7:DW9,DN7").Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 2
End With
With Range("DJ4").Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 2
End With
With Range("DT4,DT7,DG7:DG9").Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 2
End With
' " Die Zellen werden mit den entsprechenden Farben gefüllt "
Range("DP2, DP4, DP7, DP9").Interior.ColorIndex = 5 'Blau
Range("DQ2, DQ4, DQ7, DQ9").Interior.ColorIndex = 46 'Orange
Range("DR2, DN3, DT3, DR4, DV6, DR7, DJ8, DN8, DT8, DJ9, DR9, DH10").Interior.ColorIndex = _
15 'Hellgrau
Range("DS3, DU6, DS8").Interior.ColorIndex = 4 'Grün
Range("DU5, DK9, DL9").Interior.ColorIndex = 33 'Hellblau
Range("DK4, DM5, DG6").Interior.ColorIndex = 3 'Rot
Range("DO3, DL6, DK8, DO8, DI10").Interior.ColorIndex = 44 'Ockergelb
Range("DW10").Interior.ColorIndex = 7 'Magenta
' " Da sich der Bereich DH2-DV10 alle 20 Zeilen wiederholt,wird er kopiert "
For i = 2 To 622 Step 20
.Range("DH2:DV10").Copy .Cells(i, 112)
If i = 622 Then Exit For
.Range("DH2:DV10").Copy .Cells(i + 20, 112)
Next
End With
End Sub
Das Kopieren des Bereichs war für mich jetzt die einfachste Lösung. Ich weiß,das es auch über die For - Next - Schleife geht.
Anregungen und Kritik sind erwünscht.
Lg Frank