Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
464to468
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
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen über Makro verdreifachen

Zeilen über Makro verdreifachen
11.08.2004 12:46:36
Thomas
Hallo,
ich habe eine Tabelle, in welcher nach jeder Zeile zwei Leerzeilen eingefügt und die Zeile darüber nach unten ausgefüllt werden soll (sprich jede Zeile soll jetzt drei mal drinnstehen).
Dafür habe ich mir folgende Makro geschrieben:

Sub zeilen_einfuegen()
Dim y As Integer
Dim x As Integer
y = 1
For x = ActiveCell.Row To 15
ActiveCell.Cells(y + 1, 1).Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Rows(y & ":" & y + 2).Select
Selection.FillDown
y = y + 3
Next
End Sub

Bei den ersten beiden Durchläufen läuft das Makro einwandfrei.
Beim dritten Durchlauf hat die Variable y den Wert 7, in der Zeile
ActiveCell.Cells(y + 1, 1).Select
sollte also die Zeile 8 markiert werden. Aus mir vollkommen unverständigen Gründen markiert Excel aber die Zeile 11.
Ich habe schon verschiedene Tests gemacht, z.B. ActiveCell.Range("A" & y+1).Activate oder Range(y+1 & ":" & y+1).Select oder Cells(y+1,1).Activate, das Ergebnis ist immer das selbe - selbst wenn in dieser Zeile die richtige Zelle markiert wird - spätestens beim Einfügen der leeren Zeilen ist Excel wieder in Zeile 11 statt 7.
Hat irgend jemand eine Idee, woran das liegen kann?
mfg
Thomas
PS: zum Test hab ich einfach eine Tabelle mit den Zahlen 1 bis 15 untereinander verwendet, 1 und 2 füllt er korrekt aus, dann wird aber die 6 statt der 3 verdreifacht

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen über Makro verdreifachen
Uduuh
Hallo,
der Trick besteht wie so oft darin, von unten anzufangen.

Sub dreifach()
Dim Y As Integer
For Y = Cells(65536, 1).End(xlUp).Row To 1 Step -1
Rows(Y).Copy
Range(Rows(Y + 1), Rows(Y + 2)).Insert shift:=xlDown
Next Y
Application.CutCopyMode = False
End Sub

Gruß aus'm Pott
Udo
AW: Zeilen über Makro verdreifachen
11.08.2004 13:36:33
Thomas
Dank Dir, hat funktioniert (obwohl ich immer noch nicht versteh, was Excel gegen mein eigenes Makro hat).
mfg
Thomas
AW: Zeilen über Makro verdreifachen
Uduuh
Hallo,
das liegt an der Zeile
ActiveCell.Cells(y+1,1).select
hättest du geschrieben
Cells(y+1,1).select
wäre alles gut gegangen. So aber hattest du eine relativen Bezug zur ActiveCell, die du mit dem Select auch noch ständig änderst.
Gruß aus'm Pott
Udo
Anzeige
AW: Zeilen über Makro verdreifachen
11.08.2004 14:06:44
Thomas
Ups, da hab ich gar nicht dran gedacht... typisch betriebsblind halt.
mfg
Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige