Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

mehrere Rahmen zeichnen?
#1
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
.xlsm   mehrere Rahmen zeichnen.xlsm (Größe: 22,69 KB / Downloads: 3)
Antworten Top
#2
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".
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#3
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
Antworten Top
#4
Das stimmt nicht. Statt nur der 

Anzahl 

musst Du auch noch

Breite
Höhe
Abstand

der Rahmen angeben.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#5
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
Antworten Top
#6
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:
  • Andreas-Frage
Antworten Top
#7
Danke Elex, super!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste