Registriert seit: 28.07.2016
Version(en): 2016
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
Angehängte Dateien
mehrere Rahmen zeichnen.xlsm (Größe: 22,69 KB / Downloads: 3)
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
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".
Registriert seit: 28.07.2016
Version(en): 2016
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
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
Das stimmt nicht. Statt nur der
Anzahl
musst Du auch noch
Breite
Höhe
Abstand
der Rahmen angeben.
Registriert seit: 28.07.2016
Version(en): 2016
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
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
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
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag: 1 Nutzer sagt Danke an Elex für diesen Beitrag 28
• Andreas-Frage
Registriert seit: 28.07.2016
Version(en): 2016