Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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".
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.
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