Listenformatierung via Makro

Bild

Betrifft: Listenformatierung via Makro
von: Shery
Geschrieben am: 05.08.2015 13:01:32

Hallo,
ich möchte eine bzw. mehrere Excel-Listen formatieren und habe dafür bereits ähnliche Lösungen gefunden, doch leider scheitert die Umsetzung für meinen speziellen Fall an meinen nicht vorhandenen VBA-Kenntnissen.
Folgender Sachverhalt: Eine Excelliste mit mehreren hundert Zeilen und mehreren Spalten soll (möglichst via Makro, da weitere Listen folgen werden) so umgewandelt werden, dass nach jeder Zeile eine Zeile mit bestimmtem Inhalt und eine Leerzeile eingefügt wird. Die Zeile mit dem Inhalt kann aus der ersten Zeile kopiert werden. Sahnehäubchen wäre, wenn eine Formatierung möglich ist, dass um diese drei Zellen (Ausgangszeile, eingefügte Zeile und Leerzeile) jeweils ein Rahmen gezogen wird um die Übersichtlichkeit zu erhöhen. Am wichtigsten wäre zuerst jedoch die zusätzlichen Zeilen einzufügen. Hab schon einiges ausprobiert und Leerzeilen kann ich bereits ohne Probleme einfügen, jedoch fehlt mir der korrekte Befehl, damit die Zeile mit dem neuen Inhalt eingefügt wird.
Ich würde mich sehr über schnelle Hilfe freuen.
Vielen lieben Dank schonmal.

Bild

Betrifft: AW: Listenformatierung via Makro
von: Armin
Geschrieben am: 05.08.2015 14:05:08
Hallo Shery,
probiere doch mal den Makrorecorder.

Bild

Betrifft: AW: Listenformatierung via Makro
von: Shery
Geschrieben am: 05.08.2015 14:40:06
Hallo Armin,
danke für den Tipp. Hatte ich schon ausprobiert aber hat irgendwie nicht den gewünschten Effekt.
Dabei kommt immer nur folgendes Makro raus:

Sub Makro1()
'
' Makro1 Makro
'
'
    Range("A1:I2").Select
    Selection.Copy
    Rows("4:4").Select
    Selection.Insert Shift:=xlDown
End Sub

Wenn ich dieses jedoch nochmal ausführe kopiert er mir die Zeilen logischerweise nur an die selbe Stelle. Hatte bereits versucht die Zeile zu ändern zu
Rows("4:204).Select
jedoch erfüllt auch das nicht den gewünschten Effekt, da er mir dann nur 200 mal die beiden Zeilen einfügt, aber diese eben nicht in die bereits bestehende Liste bastelt.
Leider habe ich selber zu wenig Ahnung davon um das Makro entsprechend so umzuschreiben, dass es funktioniert. Werd mir aber Grundkenntnisse dazu mal als Bettlektüre hinlegen, würde sowas gerne selber können, nur so schnell wie ich das leider brauch, bring ich mir das leider nicht bei.

Bild

Betrifft: AW: Listenformatierung via Makro
von: AlexG
Geschrieben am: 05.08.2015 15:52:56
Hallo Shery,
So?

Option Explicit
Sub Zeilen_einfuegen()
Dim intLetzteS%, i&, j%, k%
Dim arr() As String
intLetzteS = Cells(1, Columns.Count).End(xlToLeft).Column
Redim arr(intLetzteS)
For i = 1 To intLetzteS
    arr(i) = Cells(1, i).Text
Next i
For i = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
    Rows(CStr(i) & ":" & CStr(i + 1)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    For j = 1 To intLetzteS
        Cells(i + 1, j) = arr(j)
    Next j
    For k = xlEdgeLeft To xlEdgeRight
        With Cells(i + 1, 1).Resize(3, intLetzteS).Borders(k)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
    Next k
Next i
For k = xlEdgeLeft To xlEdgeRight
    With Cells(1, 1).Resize(3, intLetzteS).Borders(k)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
Next k
End Sub
Gruß
Alex

Bild

Betrifft: AW: Listenformatierung via Makro
von: Shery
Geschrieben am: 05.08.2015 16:14:35
Wow, vielen lieben Dank!
Ist perfekt =D
Danke Alex, fühl dich geknuddelt, du hast mich grad gerettet ;)

Bild

Betrifft: Bitte, gern geschehen Gruß Alex (owT)
von: AlexG
Geschrieben am: 05.08.2015 16:17:03


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Mehrere Tabellenblätter drucken; Auswahl variabel"