Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leere Zeile einfügen per VBA

Leere Zeile einfügen per VBA
22.01.2008 08:16:23
christian

halo alle
ich habe ein macro aufgezeichnet das mir in jede 2zeile eine leerzeile einfügt. beginnen ab zeile 2
enden sollte es ca. bei zeile 200
wie kann ich das macro verkürzen?
DERZEITIGE AUFZEICHNUNG:

Sub jede2zeile()
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Rows("4:4").Select
Selection.Insert Shift:=xlDown
Rows("6:6").Select
Selection.Insert Shift:=xlDown
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Rows("10:10").Select
Selection.Insert Shift:=xlDown
Rows("12:12").Select
Selection.Insert Shift:=xlDown
Rows("14:14").Select
Selection.Insert Shift:=xlDown
Rows("16:16").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=9
Rows("18:18").Select
Selection.Insert Shift:=xlDown
Rows("20:20").Select
Selection.Insert Shift:=xlDown
Rows("22:22").Select
Selection.Insert Shift:=xlDown
Rows("24:24").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=6
Rows("26:26").Select
Selection.Insert Shift:=xlDown
Rows("28:28").Select
Selection.Insert Shift:=xlDown
Rows("30:30").Select
Selection.Insert Shift:=xlDown
Rows("32:32").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=9
Rows("34:34").Select
Selection.EntireRow.Hidden = False
Selection.Insert Shift:=xlDown
Rows("36:36").Select
Selection.Insert Shift:=xlDown
Rows("38:38").Select
Selection.Insert Shift:=xlDown
Rows("40:40").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=6
Rows("42:42").Select
Selection.Insert Shift:=xlDown
Rows("44:44").Select
Selection.Insert Shift:=xlDown
Rows("46:46").Select
Selection.Insert Shift:=xlDown
Rows("48:48").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=9
Rows("50:50").Select
Selection.Insert Shift:=xlDown
Rows("52:52").Select
Selection.Insert Shift:=xlDown
Rows("54:54").Select
Selection.Insert Shift:=xlDown
Rows("56:56").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=9
Rows("58:58").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=-75
Range("B1").Select
End Sub


BEISPIEL SO UNGEFÄHR KÖNNTE ES AUSSEHEN:


Sub leerzeilen_einfügen()
ab zeile 2 to 200 then
jede  2 zeile leerzeile einfügen
End Sub


danke
gruss
christian neu

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zeile einfügen per VBA
22.01.2008 08:36:14
Wolli
Moin Christian, so:

Sub test()
Do
ActiveCell.EntireRow.Insert
ActiveCell.Offset(2, 0).Select
Loop Until ActiveCell.Row >= 200
End Sub


Gruß, Wolli

AW: Leere Zeile einfügen per VBA
22.01.2008 08:50:00
christian
hi Wolli
vielen dank im prinzip passt es aber es beginnt schon in der ersten zeile.
also es wird in der ersten zeile schon eine leerzeile eingefügt , es soll aber erst ab zeile 2 eine leerzeile eingefügt werden.,
hast du noch eine idee wie ich das lösen kann?
danke
gruss
christian neu

AW: Leere Zeile einfügen per VBA
22.01.2008 08:57:00
Renee
Hi Christian,
so?:

Sub zwei()
Dim ix As Integer
For ix = 2 To 200 Step 2
ActiveSheet.Cells(ix, 1).EntireRow.Insert
Next ix
End Sub


GreetZ Renée

Anzeige
AW: Leere Zeile einfügen per VBA
22.01.2008 09:07:14
christian
servus Renée
suuuuuuuper vielen dank.

AW: Leere Zeile einfügen per VBA
23.01.2008 21:50:00
Daniel
Hi
wenn du grosse Datenmengen hast und wert auf Geschwindigkeit legst, könntest du auch diesen Code verwenden. Er ist zwar etwas länger, dafür aber um Welten schneller als das Einfügen einzelner Zeilen per Schleife.
(bei 200 Zeilen 12 x schneller, bei 10.000 Zeilen 200 x schneller)

Sub Leerzeilen()
Dim ze As Long
Columns(1).Sort key1:=Cells(1, 1)
ze = Cells(Rows.Count, 1).End(xlUp).Row
Columns(1).Insert
With Cells(1, 1).Resize(ze)
.Formula = "=row()"
.Formula = .Value
.Offset(ze) = .Value
End With
Cells(1, 1).CurrentRegion.Sort , key1:=Cells(2, 1), order1:=xlAscending, header:=xlNo
Columns(1).Delete
End Sub


einen Haken hat die Sache natürlich:
sollten sich Formeln auf diese Tabelle beziehen, dann kannst du diese Methode nicht verwenden, weil beim Sortieren die Zellbezüge nicht angepasst werden.
Da müsstest du dann auf das langsame einfügen zurückgreifen.
Gruß, Daniel

Anzeige
AW: Leere Zeile einfügen per VBA
22.01.2008 09:34:22
Wolli
Naja, es beginnt in der Zeile, in der Du stehst. Man könnte z.B.

Range("A2").select


als 1. Zeile einfügen.
Gruß, Wolli

220 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige