Hallo! Habe mal wieder eine Frage:
Ich möchte automatisch in jeder xten Zeile zwei zusätzliche Zeilen einfügen.
Den Code dafür habe ich bereits:
Sub Zeileneinfügen()
’
’ Zeileneinfügen Makro
’
Dim i As Integer
Dim l As Integer
l = 2
For i = 0 To 15 Step 1
Rows(l & „:“ & l + 1).Select
Selection.Insert
l = l + 3
Next i
End Sub
Nun möchte ich aber die untere der beiden eingefügten Zeilen noch mit einer unteren Rahmenlinie versehen. Darüber habe ich mir bisher vergeblich das Hirn zerbrochen. Ansatz ist „With Selection.Borders“ , aber irgendwie will es absolut nicht klappen. Hat jemand eine brauchbare Idee? Danke!
Zeichne ein Makro auf, währund Du die Aufgabe händisch erledigst. Dann schnappst Du dir den Code und paßt ihn an.
Außerdem weißt Du danach auch, wie die Konstanten für die Rahmenlinien heißen.
Hallo Carsten! Schön, dass Du noch aktiv dabei bist! Du hast mir vor 2 oder 3 Jahren ein Makro gebastelt, mit dem ich heute noch arbeite! Danke nochmal!!
Wie auch immer, habe ich auch gemacht, das ist folgendes per Hand aufgezeichnet.
Sub Linienzeichnen()
’
’ Linienzeichnen Makro
’
Range(„4:4,6:6,8:8,10:10“).Select
Range(„A10“).Activate
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
Und das soll jetzt zusammen mit diesem stehen, aber da leider die Zeit wahnsinnig drängt, habe ich seit gesten abend nicht rausfinden können, wie man das kombiniert.
Sub Zeileneinfügen()
’
’ Zeileneinfügen Makro
’ Fügt nach jeder Zeile mit Werten 2 Leerzeilen ein
Dim i As Integer
Dim l As Integer
l = 2 ’ die Zeile, in der als erstes eingefügt werden soll (erste eingefügte leerzeile)
For i = 0 To 15 Step 1 ’ 10 ist die Anzahl der Wiederholungen - kann beliebig erhöht werden
Rows(l & „:“ & l + 1).Select
Selection.Insert
l = l + 3
Next i
End Sub
Vielen Dank, falls Du noch Zeit für eine Antwort haben solltest!
Nun möchte ich aber die untere der beiden eingefügten Zeilen
noch mit einer unteren Rahmenlinie versehen. Darüber habe ich
mir bisher vergeblich das Hirn zerbrochen. Ansatz ist „With
Selection.Borders“ , aber irgendwie will es absolut nicht
klappen. Hat jemand eine brauchbare Idee? Danke!
Hallo Putt,
Sub ZeileneinfügenUnLinie()
Dim L As Integer
For L = 2 To 47 Step 3
Rows(L & ":" & L + 1).Insert
With Rows(L + 1).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Next L
End Sub
Hallo Carsten! Schön, dass Du noch aktiv dabei bist! Du hast
mir vor 2 oder 3 Jahren ein Makro gebastelt, mit dem ich heute
noch arbeite! Danke nochmal!!
Danke. Ist ja 'mal schön, zu hören, dass etwas Bestand hat.
Hatte den Morgen keine Zeit mehr, mußte zur Arbeit.
Ich vermute, Reinhard konnte Dir helfen !?
Hallo!
Vielen Dank für Eure Antworten, Reinhard und Carsten! Hatte 2 Tage frei, deshalb die späte Rückmeldung!
Bei mir zu Hause (Excel 2007) läuft das Makro wie es soll. Allerdings lief dort auch mein eigenes kleines Ding, das nur die Zeilen eingefügt hat. IN der Firma allerdings (Excel 2000!) scheiterte es an der Zeile
Rows(L & „:“ & L + 1).Select
Die Zeichenfolge & „:“ & wurde immer mit der Aufforderung zur Eingabe eines Listentrennzeichens quittiert, dann Abbruch. Warum, wisst Ihr das?
Ich werde das neue Ding aber auf jeden Fall noch gebrauchen können, da wir immer Linien per Hand zeichnen müssen und das ist ja echt Sträflngsarbeit.
IN der Firma allerdings (Excel
2000!) scheiterte es an der Zeile
Rows(L & „:“ & L + 1).Select
Die Zeichenfolge & „:“ & wurde immer mit der Aufforderung zur
Eingabe eines Listentrennzeichens quittiert, dann Abbruch.
Hallo Puttmacher,
in meinem Code ist kein Select und wichtiger, er wurde auf XL2000 getestet und lief problemlos.