Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leere Zellen einfügen

Leere Zellen einfügen
01.08.2002 11:14:38
Dirk
Hallo Leute,

das Forum war uns schon eine grosse Hilfe. Jetzt fragen wir uns ob unser Makro nicht auch schneller sein könnte. Wir haben u. a. Werte in einer Spalte, und möchten zwischen diesen je eine Leerzelle einfügen. Bisher geht das so:

Range("E9").Select
Selection.Insert Shift:=xlDown
ActiveCell.Offset(2, 0).Select
Do Until IsEmpty(Selection)
Selection.Insert Shift:=xlDown
ActiveCell.Offset(2, 0).Select

Loop

End Sub

Da das ganze für mehrere Spalten mit bis zu 384 Werten gemacht werden muß dauert es entsprechend lange. Alle Spalten gleichzeitig zu bearbeiten ist nicht möglich da deren Beginn variabel ist.

Besten Dank schon mal

Konst und Dirk

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Leere Zellen einfügen
01.08.2002 11:50:05
Folker
Das Makro bearbeitet gerade nur 1 Spalte. Also könnte man das Makro auf die Bearbeitung aller Spalten hintereinander ausdehnen. Dazu bräuchte man aber ein Kriterium, mit was die Spalten beginnen.
Also den Teil "E9" als Variable gestalten und vorher prüfen in welcher Zeile der Beginn ist.
Re: Leere Zellen einfügen
01.08.2002 11:55:44
L.Vira
Wenns ab Zeile 2 passieren soll, ansonsten den Wert von z
entsprechend anpassen:

Sub jede_zweite_leer()
Dim z As Long
Dim lZ As Long
lZ = [a65536].End(xlUp).Row
If lZ < 2 Then Exit Sub
If lZ > 32000 Then
MsgBox "Für diese Funktion dürfen max. 32.000 Datensätze vorhanden sein! ", 64, "weise hin..."
Exit Sub
End If
Application.ScreenUpdating = False
z = 2
While z < lZ * 2
Rows(z).Insert
z = z + 2
Wend
Application.ScreenUpdating = True
MsgBox "Ein harter Job wurde erledigt! ", 64, "weise hin..."
End Sub

Anzeige
Re: Leere Zellen einfügen
01.08.2002 12:04:55
Folker
Damit fügst du doch immer eine ganze Zeile ein oder. Sowie ich das verstanden habe sind die Spalten untereinder verschoben, so dass man nicht eine ganze Zeile einfügen kann. Also kann man nur jede Spalte einzeln abarbeiten.
Re: Leere Zellen einfügen
01.08.2002 12:05:30
Dirk
Hi Folker,

das haben wir schon verwirklicht, aber aus Platzgründen nur Teile des Makros gepostet. Die Frage ist: Kann man den Prozess beschleunigen ?

Gruß

Konst und Dirk

Anzeige
Re: Leere Zellen einfügen
01.08.2002 12:11:29
L.Vira
Na, das sollte doch nun keine Aktion sein, das entsprechend abzuändern.
Re: Leere Zellen einfügen
01.08.2002 12:19:54
L.Vira
Beschleunigen in gewissem Maß daurch, dass auf select und activate verzichtet wird und Application.ScreenUpdating = False
einfestellt wird. Falls das Einfügen irgendwelche Neubrechnungen auslöst, Calulation auf xlManual einstellen.
Anzeige
Re: Leere Zellen einfügen
01.08.2002 12:29:05
Folker
Nur mal eine Idee:
Wenn man die Zellen einer Spalte einzeln anwählt und dann ein Zelle einfügt, erreicht man den gewünschten Effekt für all die Zellen auf einmal. Frage ist nur ob man das mit Variablen vernünftig hinbekommt.

Range("D1,D2,D3,D4,D5,D6,D7,D8,D9,D10").Select
Range("D10").Activate
Selection.Insert Shift:=xlDown

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Leere Zellen in Excel einfügen


Schritt-für-Schritt-Anleitung

Um in Excel leere Zellen zwischen bestehenden Werten einzufügen, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub LeereZellenEinfügen()
       Dim z As Long
       Dim lZ As Long
       lZ = [A65536].End(xlUp).Row
       If lZ < 2 Then Exit Sub
       Application.ScreenUpdating = False
       z = 2
       While z < lZ * 2
           Cells(z, 1).Insert Shift:=xlDown
           z = z + 2
       Wend
       Application.ScreenUpdating = True
       MsgBox "Leere Zellen wurden eingefügt!"
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle LeereZellenEinfügen aus und klicke auf Ausführen.

Dieses Makro fügt leere Zellen in die erste Spalte ein, beginnend ab der zweiten Zeile.


Häufige Fehler und Lösungen

  • Problem: Excel kann keine neuen Zellen einfügen, weil nicht leere Zellen über das Ende des Arbeitsblattes hinaus vorhanden sind.

    • Lösung: Stelle sicher, dass Du keine Daten in den Zeilen hast, die Du einfügen möchtest. Überprüfe auch, ob das Makro auf die richtige Spalte zeigt.
  • Problem: Excel zellen einfügen nicht möglich.

    • Lösung: Prüfe, ob das Arbeitsblatt geschützt ist oder ob es andere Einschränkungen gibt.

Alternative Methoden

Eine alternative Methode, um leere Zellen einzufügen, besteht darin, die Daten manuell zu sortieren:

  1. Markiere die Zellen, in die Du leere Zeilen einfügen möchtest.
  2. Klicke mit der rechten Maustaste und wähle Einfügen.
  3. Wähle Zellen verschieben nach unten.

Diese Methode ist allerdings weniger effizient als die VBA-Lösung, besonders wenn Du viele Zellen bearbeiten musst.


Praktische Beispiele

Hier ist ein Beispiel für ein Makro, das leere Zeilen in mehreren Spalten einfügt:

Sub LeereZeilenInMehrerenSpaltenEinfügen()
    Dim i As Integer
    Dim lZ As Long
    Application.ScreenUpdating = False
    For i = 1 To 5 ' für die ersten fünf Spalten
        lZ = Cells(Rows.Count, i).End(xlUp).Row
        For j = lZ To 2 Step -1
            Cells(j, i).Insert Shift:=xlDown
        Next j
    Next i
    Application.ScreenUpdating = True
    MsgBox "Leere Zeilen wurden in mehreren Spalten hinzugefügt!"
End Sub

Mit diesem Makro kannst Du in den ersten fünf Spalten leere Zeilen einfügen.


Tipps für Profis

  • Vermeide die Verwendung von .Select und .Activate in Deinem Code, um die Ausführungsgeschwindigkeit zu erhöhen.
  • Setze Application.Calculation = xlManual, um unnötige Neuberechnungen während des Einfügens zu vermeiden.
  • Nutze die Funktion MsgBox, um den Benutzer über den Fortschritt zu informieren.

FAQ: Häufige Fragen

1. Was sind Push-Zellen in Excel?
Push-Zellen sind Zellen, die beim Einfügen neuer Zellen oder Zeilen in Excel automatisch nach unten oder zur Seite verschoben werden.

2. Warum kann ich keine neuen Zeilen in Excel einfügen?
Dies kann passieren, wenn Du versuchst, Zeilen über das Ende des Arbeitsblattes hinaus einzufügen oder wenn das Arbeitsblatt geschützt ist. Achte darauf, dass die Zellen, die verschoben werden sollen, nicht leer sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige