Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Endzeile in Schleife erhöhen

Endzeile in Schleife erhöhen
08.09.2003 13:53:04
MikeS
Hallo Leute,

in nachfolgenden Code soll die lEndzeile um 1 erhöht werden,
wenn die Zelle in Spalte Cells(lZeilenzähler, iQuellspalte) etwas enthält.

Die Erhöhung der lEndzeile klappt auch, doch die Schleife wird immer
vorher verlassen.

Was mache ich falsch???

Vielen Dank für Eure Hilfe.



Sub Zeilen_einfügen()
      Dim iStartzeile%, lEndzeile&, lZeilenzähler&
      Dim iQuellspalte%, iZielspalte%
      Dim sZellinhalt$
      iStartzeile = 2
      lEndzeile = Cells(65536, 5).End(xlUp).Row
      iQuellspalte = 5
      iZielspalte = 4
      Application.ScreenUpdating = False
      
      For lZeilenzähler = iStartzeile To lEndzeile
            If lZeilenzähler > lEndzeile Then Exit Sub
            If Not IsEmpty(Cells(lZeilenzähler, iQuellspalte)) Then
                  sZellinhalt = Cells(lZeilenzähler, iQuellspalte)
                  Rows(lZeilenzähler).EntireRow.Copy
                  Rows(lZeilenzähler + 1).Select
                  Selection.Insert Shift:=xlDown
                  Application.CutCopyMode = False
                  Cells(lZeilenzähler, iQuellspalte).ClearContents
                  Cells(lZeilenzähler + 1, iQuellspalte).ClearContents
                  Cells(lZeilenzähler + 1, iZielspalte) = sZellinhalt
                  lZeilenzähler = lZeilenzähler + 1
                  lEndzeile = lEndzeile + 1
            End If
      Next lZeilenzähler
           
      Application.ScreenUpdating = True
End Sub



     Code eingefügt mit Syntaxhighlighter 2.1

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Endzeile in Schleife erhöhen
08.09.2003 13:58:49
ChrisL
Hi Mike

Habe die Aufgabe jetzt nicht nachgebaut, aber lass die Schlaufe von unten nach oben laufen..

For lZeilenzähler = lEndzeilei To Startzeile Step -1

Die brauchst du dann nicht mehr
If lZeilenzähler > lEndzeile Then Exit Sub
lZeilenzähler = lZeilenzähler + 1
lEndzeile = lEndzeile + 1


Ist übrigens das gleiche wie wenn du Zeilen löschst, das geht besser 'Rückwärts'.

Gruss
Chris
AW: Endzeile in Schleife erhöhen
08.09.2003 13:58:50
xXx
Hallo,
bau das anstatt in eine For...Next-Schleife in eine Do...Loop-Schleife. Dann geht's

Gruß aus'm Pott
Udo
AW: Endzeile in Schleife erhöhen
08.09.2003 14:00:57
Andreas Walter
Wie wäre es mit
For lZeilenzähler = iStartzeile To lEndzeile

lZeilenzähler = iStartzeile
while lZeilenzähler < lEndzeile

....


lZeilenzähler = lZeilenzähler + 1
while end
Anzeige
AW: Endzeile in Schleife erhöhen
08.09.2003 14:05:08
Martin Beck
Hallo Mike,

mit

For lZeilenzähler = iStartzeile To lEndzeile

legst Du fest, wie oft die Schleife durchlaufen wird. Spätere Änderungen des Wertes von lEndzeile haben darauf keinen Einfluß mehr.

Benutze statt der For-Next- eine Do-Loop-Schleife.

Gruß
Martin Beck
DANKESCHÖN AN ALLE
08.09.2003 14:12:09
MikeS
So klappt`s



Sub Zeilen_einfügen()
      Dim iStartzeile%, lEndzeile&, lZeilenzähler&
      Dim iQuellspalte%, iZielspalte%
      Dim sZellinhalt$
      iStartzeile = 2
      lEndzeile = Cells(65536, 5).End(xlUp).Row
      iQuellspalte = 5
      iZielspalte = 4
      Application.ScreenUpdating = False
      
      For lZeilenzähler = lEndzeile To iStartzeile Step -1
            If Not IsEmpty(Cells(lZeilenzähler, iQuellspalte)) Then
                  sZellinhalt = Cells(lZeilenzähler, iQuellspalte)
                  Rows(lZeilenzähler).EntireRow.Copy
                  Rows(lZeilenzähler + 1).Select
                  Selection.Insert Shift:=xlDown
                  Application.CutCopyMode = False
                  Cells(lZeilenzähler, iQuellspalte).ClearContents
                  Cells(lZeilenzähler + 1, iQuellspalte).ClearContents
                  Cells(lZeilenzähler + 1, iZielspalte) = sZellinhalt
                  lZeilenzähler = lZeilenzähler + 1
                  lEndzeile = lEndzeile + 1
            End If
      Next lZeilenzähler
           
      Application.ScreenUpdating = True
End Sub



     Code eingefügt mit Syntaxhighlighter 2.1



Ciao MikeS
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige