Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige