Collapse column

Autor Thema: Office 2016 DoLoop Schleife springt zum Anfang der Sub  (Gelesen 1040 mal)

Offline FlorianF

  • Jr. Member
  • **
  • Beiträge: 62
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Office 2016 DoLoop Schleife springt zum Anfang der Sub
« am: Oktober 12, 2017, 11:19:18 Vormittag »
Hi Leute,

ich bin am verzweifeln. Ich habe eine DoLoop-Schleife erstellt welche aber nach einigen Durchläufen immer an den Anfang der Sub springt und dadurch ein fehlerhaftes Verhalten auslöst, da dann die Variable i wieder auf den Anfangswert gesetzt wird.

Sub ZwischenzeilenEinfuegen()

    Dim i As Long
   
    i = 6
    With tblZahlungUebersicht
        Do Until .Cells(i, 1).Value = ""
            If .Cells(i, 1).Value <> .Cells(i + 1, 1).Value Then
                .Cells(i + 1, 1).EntireRow.Insert
            End If
            i = i + 1
        Loop
    End With
   
End Sub

Wo liegt der Fehler?

Danke euch und beste Grüße
Flo

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2016 DoLoop Schleife springt zum Anfang der Sub
« Antwort #1 am: Oktober 15, 2017, 09:45:20 Vormittag »
Hallo,

nicht so ganz nachvollziehbar, Du fügst eine Leerzeile bei Auftreten der Bedingung ein, die dann bei der
nächsten Iteration zum Abbruch der Schleife führt. Ungetestet, versuche es mal hiermit...

Code: Visual Basic
  1. Sub ZwischenzeilenEinfuegen()
  2.  
  3.   Dim i As Long
  4.  
  5.   i = 6
  6.  
  7.   With tblZahlungUebersicht
  8.  
  9.     Do Until .Cells(i, 1).Value = ""
  10.    
  11.       If .Cells(i, 1).Value <> .Cells(i + 1, 1).Value Then
  12.        
  13.        .Cells(i + 1, 1).EntireRow.Insert
  14.         i = i + 2
  15.        
  16.       Else
  17.      
  18.         i = i + 1
  19.        
  20.       End If
  21.    
  22.     Loop
  23.  
  24.   End With
  25.  
  26. End Sub

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline FlorianF

  • Jr. Member
  • **
  • Beiträge: 62
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw:Office 2016 DoLoop Schleife springt zum Anfang der Sub
« Antwort #2 am: Oktober 15, 2017, 12:47:08 Nachmittag »
Verstehe nicht ganz wieso aber it works! :D

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2016 DoLoop Schleife springt zum Anfang der Sub
« Antwort #3 am: Oktober 15, 2017, 13:09:09 Nachmittag »
Hallo,

prima :-)

Na, Dein Zähler fängt bei 6 an. Sagen wir mal an Position 8 wird Deine Bedingung erfüllt. Also Cells(8,1)<>Cells(9,1).
Dann fügt Dein Code eine Zeile vor Cells(9,1) ein oder auch nach Cells(8,1). Dein Zähler steht aber immer noch auf
Position 8 und die neu eingefügte Zeile ist jetzt 9 und die ehemalige 9 rutscht runter auf 10. Daher i+2. Jetzt klarer?

Gruß


Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline FlorianF

  • Jr. Member
  • **
  • Beiträge: 62
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw:Office 2016 DoLoop Schleife springt zum Anfang der Sub
« Antwort #4 am: Oktober 15, 2017, 13:11:24 Nachmittag »
Ok verstanden. Aber wieso hebelt das die Schleife bzw. die ganze Prozedur aus, dass der Code wieder am Anfang der Sub startet?

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2016 DoLoop Schleife springt zum Anfang der Sub
« Antwort #5 am: Oktober 15, 2017, 13:24:16 Nachmittag »
Hallo,

Zitat
Aber wieso hebelt das die Schleife bzw. die ganze Prozedur aus, dass der Code wieder am Anfang der Sub startet?

genau das konnte ich nicht nachprüfen. Falls Du den Code in einem Ereignis hast, kann, muss aber nicht, es daran liegen.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline FlorianF

  • Jr. Member
  • **
  • Beiträge: 62
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw:Office 2016 DoLoop Schleife springt zum Anfang der Sub
« Antwort #6 am: Oktober 15, 2017, 14:56:29 Nachmittag »
Ok. Hauptsache aber es funktionier nun :) Danke!!

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.