Guten Morgen Zusammen,
wie kann ich per VBA mehrere Rahmen (wie in der Tabelle) per Klick zeichnen?
Es können auch mal nur 3 oder 5 Rahmen sein.
Grüße,
Andreas
Eigentlich ein idealer Stoff für den Makrorekorder, um daran Code zu lernen.
OT: Übrigens: Rahmen funktioniert wunschgemäß bei Mehrfachselektionen. Sogar überschneidend, allerdings dann überlappend in Reihenfolge, nicht "transparent".
Ich möchte die Anzahl vorgeben. Wie man Rahmen zeichnet/erzeugt ist mir bekannt.
Worksheets("Tabelle1").Range("B6:D14").BorderAround ColorIndex:=1, Weight:=xlMedium
Worksheets("Tabelle1").Range("B17:D25").BorderAround ColorIndex:=1, Weight:=xlMedium
etc.
For i = 1 To 6 ????
oder
For i = 1 To 4
da brauche ich Hilfe.
Grüße, Andreas
Das stimmt nicht. Statt nur der
Anzahl
musst Du auch noch
Breite
Höhe
Abstand
der Rahmen angeben.
Dim Rahmen1, Rahmen2, Rahmen3, Rahmen4, Rahmen5, Rahmen6 As String
Rahmen1 = "B6:D14"
Rahmen2 = "B17:D25"
Rahmen3 = "B28:D36"
Rahmen4 = "B39:D47"
Rahmen5 = "B50:D58"
Rahmen6 = "B61:D69"
Worksheets("Tabelle1").Range(Rahmen1).BorderAround ColorIndex:=1, Weight:=xlMedium
Worksheets("Tabelle1").Range(Rahmen2).BorderAround ColorIndex:=1, Weight:=xlMedium
Worksheets("Tabelle1").Range(Rahmen3).BorderAround ColorIndex:=1, Weight:=xlMedium
Worksheets("Tabelle1").Range(Rahmen4).BorderAround ColorIndex:=1, Weight:=xlMedium
Worksheets("Tabelle1").Range(Rahmen5).BorderAround ColorIndex:=1, Weight:=xlMedium
Worksheets("Tabelle1").Range(Rahmen6).BorderAround ColorIndex:=1, Weight:=xlMedium
Hier ist jetzt die Breite, die Höhe und der Abstand fest definiert.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Meine Idee/Frage ist: ich definiere nur einen Range-Bereich = z.B "B6:D14" (Rahmengröße ist immer gleich), Abstand sollen 2 Zellen nach unten sein.
Und nun noch die Anzahl, die gebraucht werden: 4 oder 6 oder... (das der definierte Range-Bereich quasi über eine Schleife entsprechend der Anzahl dubliziert wird) ?
Dim Anzahl as String
Dim Abstand as String
Dim Rahmengroesse as String
Abstand = "B15:D16" 'als Beispiel
Anzahl = "5" 'als Beispiel
Rahmengroesse = "B6:D14" 'als Beispiel
????
Grüße, Andreas
Hi
z.B.
Code:
Sub Rahmen_Zeichnen()
Dim Anzahl As Integer, Abstand As Integer, Rahmen1 As String, RNeu As String
Anzahl = 6
Abstand = 2
Rahmen1 = "I6:K14"
RNeu = Rahmen1
For i = 1 To Anzahl - 1
RNeu = Range(RNeu).Offset(Range(RNeu).Rows.Count + Abstand).Address
Rahmen1 = Rahmen1 & "," & RNeu
Next i
Sheets("Tabelle1").Range(Rahmen1).BorderAround ColorIndex:=1, Weight:=xlMedium
End Sub