Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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

Do Schleife mit Fehler

Do Schleife mit Fehler
08.04.2021 19:34:49
Steinert
Hallo,
ich verzweifele etwas:
Bei folgendem Makro wird mir der Fehler "Loop ohne Do" angezeigt, und ich weiss nicht warum.
Das Makro
Sub PDFListe()
' PDFListe Makro
Dim zeile As Long
zeile = 11
Do
If Not ActiveSheet.Cells(zeile, 35) = "" Then
ActiveSheet.Cells(zeile, 35).Select
Selection.Copy
Range("W5:AA5").Select
Selection.Paste
Call PDFDatei
Else: Exit Do
zeile = zeile + 1
Loop
End Sub

Irgendeine Idee, was das sein könnte?
ICh möchte in eine Spalte Werte eintragen und mit diesen Werten jeweils eine PDF-Datei erzeugen.
Die Schleife soll bis bei einer leeren Zelle in der Spaltte aufhören
Danke
Michael

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Do Schleife mit Fehler
08.04.2021 19:51:47
Hajo_Zi
Hallo Michael,m
es felht End If.
Arbeite mit Einrüchkungen.
GrußformelHomepage
AW: Do Schleife mit Fehler
08.04.2021 19:59:50
Piet
Hallo
schau dir bitte mal den von mir gekürzten Code an. Auf ActiveCell,Select kann man verzichten!! Ich habe es hier nur zum Testen eingebaut, damit du sofort sehen kannst wo dein Code stehen bleibt. Zum fachlichen Teil ...
Do Loop erwartet IMMMER eine Abbruchbedinung, die mit "While" oder "Until" beginnen muss, je nachdem was du auswerten willst. Sie kann oben bei Do stehen, oder unten bei Loop, was manchmal sinnvoller ist. Ausgeführt wird der Code solange, bis die Abbruchbedinung erfüllt ist! (Ohne IF Then!) Gibst du keine an verweigert Excel zu recht die Ausführung, weil das eine -ENDLOS- Todesschleife ist! Da wird dann nichts mehr gestoppt! Jedem Programmier passiert dieser Fehler, mir auch! Dann kann man das Programm nur noch gewaltsam stoppen!!
Ob du deinen Code auf: - ActiveSheet.Cells(zeile, 35) = "" oder ungleich "" setzen musst bitte selbst ausprobieren.
mfg Piet
  • 
    Sub PDFListe()
    Dim zeile As Long
    zeile = 11
    Do Until ActiveSheet.Cells(zeile, 35) = ""
    ActiveSheet.Cells(zeile, 35).Copy _
    Destination:=Range("W5:AA5")
    '        Call PDFDatei
    '** Select nur zum Testen bis das Makro funktionert
    ActiveSheet.Cells(zeile, 35).Select
    zeile = zeile + 1
    Loop
    End Sub
    


  • Anzeige
    AW: Do Schleife mit Fehler
    08.04.2021 20:43:06
    Günther
    Moin Piet,
    ich halte mich in Sachen VBA bewusst zurück, aber hier ist eine der Ausnahmen…
    [Zitat]
    Do Loop erwartet IMMMER eine Abbruchbedinung, die mit "While" oder "Until" beginnen muss, je nachdem was du auswerten willst.
     [/Zitat]
    Falsch. Siehe dieser Beispiel-Code:
    
    Sub Do_Loop_geht_auch_solo()
    Dim i As Integer
    Do
    i = i + 1
    If i >= 100 Then Exit Do
    Loop
    MsgBox i
    End Sub
    

    Gruß
    Günther  |  mein Excel-Blog
    Anzeige
    AW: Do Schleife mit Fehler
    08.04.2021 21:06:23
    Piet
    Hallo Kollegen
    Stimmt, ich habe mich beim "Laufzeitfehler" von dem fehlenden "End If" taeuschen lassen. Bleibt die amüsante Frage was der Frager zu meinem Code Vorschlag sagt, denn ihr habt ihn NICHT bereinigt, und Do Loop um Until ergaenzt. Mal sehen was ihm besser gefaellt? Auf jeden Fall hat er etwas dazu gelernt, auch wenn ich diesmal daneben lag. Ich sehe es gelassen ....
    mfg Piet
    AW: Do Schleife mit Fehler
    08.04.2021 21:08:50
    Steinert
    Naja, was soll ich sagen, es hat funktioniert, dann hatte ich einen Fehler im Makro, warum auch immer, nun schmiert mir Excel ab, wie gerade schon beschrieben
    AW: Do Schleife mit Fehler
    08.04.2021 21:14:22
    Piet
    Hallo
    wo genau schmiert Excel ab? In der Do Loop Schleife oder wenn du das PDF Makros startest? Für heute mache ich Schluss. Viel Glück bei der Fehlersuche.
    mfg Piet
    Anzeige
    AW: Do Schleife mit Fehler
    08.04.2021 21:33:32
    Steinert
    Mit der Do loop schleife starte ich, ich sehe, es springt auch noch auf die Zelle, baer dann wird es nur noch schwarz/weiss
    Vielen Dank
    dann muss ich 400 pdf-Dokumente per Hand erstellen...
    AW: Do Schleife mit Fehler
    09.04.2021 10:10:16
    Piet
    Hallo
    400 Dokumente von Hand erstellen? NEIN Danke!
    Hast du die Do Loop Schleife mal durchlaufen lassen OHNE den PFD Code aufzurufen? Dann wissen wir wenigstens ob es an der Schleife oder am PDF Code liegt. Liegt es am PDF Code solltest du ihn einmal manuell mit Einzelschritt Anweisung starten. So könnten wir herausfinden ab welcher Stelle alles dunkel wird. Wenn die Kollegen wissen wo das Makro aussteigt weiss vielleicht einer die Lösung dafür. Einen Versuch das bei 400 Dokumenten zu klaeren ist es wert.
    mfg Piet
    Anzeige
    AW: Do Schleife mit Fehler
    09.04.2021 13:55:12
    Steinert
    Hallo, habe mir gestern noch die Datei auf meinem lokalen Rechner heruntergeladen und dann getestet. Lief problemlos. Das mit dem "Dunkel werden" scheint wohl ein Remote Desktop Problem zu sein. Habe es öfter bei einigen Excel-Tabellen, wenn ich auf dem entfernten Server arbeite. Das ist eine Serverfarm, ich greife via Browser und Citrix drauf zu und kann dann die Anwendungen starten.
    Vielen Dank
    Michael
    AW: Do Schleife mit Fehler
    08.04.2021 20:03:02
    Piet
    Nachtrag - Bei Copy kann man die Zieladresse Ohne Paste direkt dahintersetzen. Das ist dir sicher noch nicht bekannt, oder?
    AW: Do Schleife mit Fehler
    08.04.2021 21:05:42
    Steinert
    Hmm,
    es hat funktioniert, nun schmiert mir Excel regelmässig ab.
    das Makro PDFDatei kann ich ausführen.
    Jedoch sobal ich das Makro PDFListe ausführe, bekomme ich eine schwarze Excel-Liste mit weissen Balken.
    Ich arbeite auf einem Virt.Server vom MS. Vermute, den hat es mal wieder zerlegt.
    Oder hat es irgendetwas mit Blattschutz zu tun?
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige