Supportnet Computer

Supportnet / Forum / Tabellenkalkulation

Excel - leere Zeilen einfügen





Frage

Hi folgendes Problem: ich muss eine Excel-Tabelle mit Telefonnummern und Adressen der Kunden überarbeiten. Diese Liste besteht aus rund 1800 Zeilen. Zur besseren Übersicht soll nun zwischen jeder Zeile eine freizeile eingefügt werden. Es soll also jede 2. Zeile frei sein. Gibts eine Option mit der man sowas hinkriegen kann? Alles manuell einzufügen wäre doch etwas viel Arbeit.

Antwort 1 von Pegasos33

Hi Seemandelbaum

Unter der ersten Zeile fügst Du eine neue Zeile ein.

Dann markierst Du beide Zeilen, also die erste mit den Telefonnummern und die leere neu eingefügte.
In dem markiertem Bereich siehst du dann in der unteren rechten Ecke eine etwas dickeren Punkt.
Wenn Du jetzt mit dem Mauszeiger drüber fährst wird aus dem Pfeil eine Kreuz.

In diesem Zustand kannst du dann mit gedrückter linker Maustaste die Markierung bis zu letzen Zeile ziehen.
Nun solltest Du zwischen jeder Zeile eine Leerzeile haben

ACHTUNG !!!ACHTUNG !!!ACHTUNG !!!ACHTUNG !!!
Vorher die Datei sichern.

Gruß
P.

Antwort 2 von Primut

Hi Seemandelbaum,

dazu gibt es ja Makros, um die aufwendige Handarbeit
zu erleichtern!


Sub Leerzeile_einfügen()
For i = 11 To 51 Step 2
    Rows(i).Select
    Selection.Insert
Next i
End Sub


Du brauchst natürlich die genaue Anzahl der Datenzeilen, in meinem Beispiel-Code waren es nur 20, angefangen bei 10! Bei i = X gibst du die Zeilennummer der zweiten Daten-Zeile ein, und bei To Y gibst du deine gesamte
Datenzahl*2 + X an, da nur jede zweite Zeile gezält wird.
Über Alt + F11 kommst du in die Makro-Programmierumgebung, und unter Einfügen / Modul
erhälst du ein freies Arbeitsblatt, wo dieser Code
einzutragen ist.
Wenn du die Anfangs - und Endzeilennummern richtig eingegeben hast, solllte alles funzen!
Zur Sicherheit: Daten sichern, denn Makros lassen sich nicht rückgängig machen. Wie sich das Makro aufrufen läßt, sollte ja bekannt sein.

Gruß
Primut

Antwort 3 von Event

Vielleicht wird die bessere Übersichtlichkeit ja auch bereits durch vergrößern der Zeilenhöhe erreicht ??

Gruß

Antwort 4 von StefanPE

Hallo Seemandelbaum,

hatte gerade letzte Woche ein ähnliches Problem. Hier ist meine Lösung:

Sub Leerzeilen()
Set wksTemp = ActiveSheet
Menge = wksTemp.UsedRange.Rows.Count
For i = Menge To 6 Step -1
Menge1 = i & ":" & i
Rows(Menge1).Select
Selection.Insert Shift:=xlDown
Next
End Sub

Das Ganze hat den Vorteil, daß es selbst die Anzahl der Zeilen ermittelt und dann von unten nach oben arbeitet...Über die Zahl in der For-Anweisung (hier 6) gibst du die Anzahl der Überschriftenzeilen an (wo ja normalerweise keine Leerzeilen reingehören). In meinem Beispiel stand der erste Datensatz in Zeile 5, deshalb steht hier die 6. So wird unterhalb der Zeile 5 die erste Leerzeile eingebaut. Habe das Ding eben nochmal mit ´ner Beispieltabelle mit 8500 Zeilen getestet...hat fast zwei Minuten grödelt, aber dabei schön getan was es sollte...;-).

Trotzdem, erstmal Datenbestand sichern, dann ausprobieren....

Gruß aus Peine

Stefan

Antwort 5 von Primut

@Stefan,

hey, coole Idee, Zeilen zählen lassen und Rückwärts
Leerzeilen einfügen. Damit erübrigt sich mein notwendiger Zweier-Sprung.
Übrigens, Shift:=xlDown kann man sich sparen und
statt Menge1 einfach
Rows(i).Select  
setzten,
funzt auch und sieht noch eleganter aus...

beste Grüße
Primut

Antwort 6 von StefanPE

Hallo,

ich habe das Ding noch ein bißchen komfortabler gemacht....;-)...:

Sub Leerzeilen()
Set wksTemp = ActiveSheet
Menge = wksTemp.UsedRange.Rows.Count
Titel = InputBox("Wie viele Zeilen ist die Überschrift hoch?")
For i = Menge To Titel + 2 Step -1
Menge1 = i & ":" & i
Rows(Menge1).Select
Selection.Insert Shift:=xlDown
Next
End Sub

Jetzt kommt beim Start ´ne Abfrage nach den Überschriftenzeilen...nur mal so....

Gruß

Stefan

Antwort 7 von StefanPE

@primut

Die Idee mit dem Zweiersprung hatte ich auch zuerst...aber als ich dann merkte, daß die Zeilenanzahl damit immer weiter wegläuft war mir die Rechnerei vorher zu aufwändig...vor allem, weil das Makro aus einem anderen Programm heraus mit unterschiedlichen Tabellen laufen sollte...und von unten nach oben funzt immer...;-)

Deine beiden Anmerkungen muß ich gleich mal testen

Gruß

Stefan

Antwort 8 von Seemandelbaum

danke erstmal für die Antworten.
die Methode von Pegasos klingt ganz gut, aber leider übernimmt der jedesmal die Werte der markierten Zeilen, weswegen das nich wirklich hinhaut.
Ich habs jetzt heute erst mal noch manuell gemacht (bin bei etwa Zeile 500). das mit den Makros werde ich dann mal am Donnerstag ausprobieren, wenn ich dis dann über´s WE zu Hause beenden werde, auch wenns mit den Makros wohl nur wenige Minuten dauert *g*. werde ich ja dann sehn.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: