Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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
Inhaltsverzeichnis

letzte Zeile aktualisiert sich nicht

letzte Zeile aktualisiert sich nicht
17.09.2020 14:45:40
Matthias
Hallo zusammen,
es geht um folgenden Code:
  • 
    Sub leerzeilen()
    Dim lz_komm As Long
    Dim i  as Long
    lz_komm = Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With kommblatt
    i = 2 to lz_komm + 1
    If Worksheets(2).Cells(i, 26).Value  Worksheets(2).Cells(i - 1, 26).Value Then
    Rows(i).Insert
    i = i + 1
    lz_komm = lz_komm + 1
    End If
    Next i
    End With
    End Sub
    


  • Da der Code während des Ausführens neue Zeilen erstellt, müsste sich die "lz_komm" also die letzte Zeile, nach jedem durchgang aktualisieren.
    Hierfür habe ich "lz_komm = lz_komm + 1" angefügt.
    Jedoch arbeitet der Code nur, bis der Anfangswert lz_komm + 1 erfüllt ist.
    Wie kann man das ganze dynamischer gestalten, dass lz_komm nicht als fester Wert hinterlegt wird, sondern sich nach jedem Schritt aktualisiert?
    Oder gibt es hierfür bessere Lösungen?
    Liebe Grüße
    Matthias

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

    Betreff
    Datum
    Anwender
    Anzeige
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 15:13:47
    Werner
    Hallo,
    versuch mal mit der Schleife rückwärts, also von unten nach oben.
    Sub leerzeilen()
    Dim lz_komm As Long
    Dim i  As Long
    lz_komm = Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row
    With kommblatt
    For i = lz_komm To 2 Step -1
    If Worksheets(2).Cells(i, 2).Value  Worksheets(2).Cells(i - 1, 2).Value Then
    Rows(i).Insert
    End If
    Next i
    End With
    End Sub
    
    Gruß Werner
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 15:30:49
    Matthias
    Hallo Werner,
    super Hinweis. 1000x Dank schon mal.
    Dennoch wüsste ich gerne, ob es eine Möglichkeit gibt, dass Werte sich aktualisieren.
    In einem späteren Teil des Codes soll das Makro Koordinaten in einer Matrix suchen und den entsprechenden Wert in den Zeilen eintragen.
    Diese Koordinaten werden allerdings nach jeder Zeile an einer anderen Stelle sein.
    Es sucht dann also nach Wert x in Spalte A und nach Wert y in Zeile 1.
    Dann würde ich mit "Cells(y, x).copy " entsprechend kopieren und an der richtigen Stelle einfügen lassen.
    Wie löst man das Problem, dass das Makro dann nicht jedes mal den selben Wert nimmt?
    Wenn ich die Problematik richtig verstehe, dann würde das Makro die Werte x und y einmal suchen und danach jedes mal den selben Wert verwenden?
    Anzeige
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 15:37:40
    Daniel
    Hi
    bei FOR-Schleifen ist der Schleifenendwert fixiert so wie zu beginn der Schleife berechnet und kann auch nachträglich nicht mehr verändert werden (dh VBA schreibt sich einmalig den Variablenwert fest in den Speicher).
    Wenn man Schleifen mit veränderlichem Endwert programmieren will, muss man die DO-Schleife verwenden.
    Hier wird bei jedem Durchlauf die Abbruchbedingung neu berechnet, so dass man mit veränderlichen Endwerten arbeiten kann.
    Gruß Daniel
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 17:07:11
    Matthias
    Hallo Daniel,
    Ich danke dir für die Erklärung. Das hat mir schon vollkommen geholfen :)
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 15:38:09
    Werner
    Hallo,
    jetzt stellt sich erst mal die Frage, ob dein erstes Problem gelöst ist oder nicht.
    Und zu deinem zweiten Problem kann kein Mensch mit deiner Beschreibung etwas anfangen. Mach mal eine Beispielmappe in der du aufzeigst was, wann, warum, wohin kopiert werden soll.
    Gruß Werner
    Anzeige
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 17:10:15
    Matthias
    Ja, das Problem ist auch durch diese Variante gelöst.
    Eine Beispielmappe halte ich für unnötig, da ich lediglich erklären wollte wieso dieser Wert nicht fest sein darf.
    Die Erklärung von Daniel hat mir in dem Fall geholfen.
    Danke trotzdem für jeden Lösungsansatz.
    Besten Gruß
    AW: letzte Zeile aktualisiert sich nicht
    17.09.2020 15:58:49
    UweD
    Hallo
    Sub leerzeilen()
    Dim lz_komm As Long
    Dim i  As Long
    lz_komm = Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row
    i = 2
    Do Until i > lz_komm
    If Worksheets(2).Cells(i, 26).Value  Worksheets(2).Cells(i - 1, 26).Value Then
    Rows(i).Insert
    lz_komm = lz_komm + 1
    i = i + 1
    End If
    i = i + 1
    Loop
    End Sub
    
    LG UweD
    Anzeige

    313 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige