Office: (Office 2016) VBA: Laufendes Macro individuell abbrechen (per UserForm ???)

Helfe beim Thema VBA: Laufendes Macro individuell abbrechen (per UserForm ???) in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, mal eine Frage wegen einer UserForm. Ich habe ein Macro was sehr sehr lange laufen wird (mehrere Stunden) und ich möchte gerne eine Option... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Tauchmann, 7. November 2017.

  1. Tauchmann Erfahrener User

    VBA: Laufendes Macro individuell abbrechen (per UserForm ???)


    Hallo,

    mal eine Frage wegen einer UserForm.
    Ich habe ein Macro was sehr sehr lange laufen wird (mehrere Stunden) und ich möchte gerne eine Option haben das Macro individuell abzubrechen. Meine Idee war es über eine UserForm mit einer Checkbox zu realisieren. Die UserForm wird regelmäßig durch das Macro aufgerufen und aktualisiert. Leider kann ich die Checkbox, während das Macro läuft, nicht anklicken und somit das Häkchen setzen, also auf True setzen.

    Gibt es eine Möglichkeit ein Macro während des Durchlaufes individuell abzubrechen?
    Ich wäre für Ideen und Tipps sehr dankbar.

    Hier mal das UserForm Sub welches ich ursprünglich verwenden wollte:

    Code:
    Sub UserForm_UpdateInfo( _
        ByVal objUserFormObject As Object, _
        ByVal lngFileCountMax As Long, _
        ByVal lngFileCountAct As Long, _
        ByVal lngIterationMax As Long, _
        ByVal lngIterationAct As Long)
     
        With objUserFormObject
     
    ‘Hier soll das Macro abgebrochen werden
            If UserInfo_CB_EndProcess = True Then
                End
            End If
     
    ‘UserForm Update    
            .UserInfo_LA_FileCount = lngFileCountAct & " / " & lngFileCountMax
            .UserInfo_LA_IterationCount = lngIterationAct & " / " & lngIterationMax
            .Repaint
        End With
     
    End Sub
    
    
     
    Tauchmann, 7. November 2017
    #1
  2. Moin!
    Dafür sieht MS entweder Esc oder Strg+Pause vor.

    Gruß Ralf
     
  3. maninweb
    maninweb MVP für Microsoft Excel
    Hallo,

    VBA ist single threaded, weshalb Du auch nicht, während das Makro läuft, z.B. mit der UserForm interagieren kannst.
    Ausser der Möglichkeit, die Ralf beschrieben hat, sehe ich da ebenfalls erstmal nichts.

    Gruß
     
    maninweb, 8. November 2017
    #3
  4. Storax User

    VBA: Laufendes Macro individuell abbrechen (per UserForm ???)

    Man könnte ja so etwas machen
    Code:
    Option Explicit
    
    Sub LoopForEver()
    
    Dim x As Long
        On Error GoTo handleCancel
        Application.EnableCancelKey = xlErrorHandler
        'MsgBox "This may take a long time: press ESC to cancel"
        For x = 1 To 1000000 ' Do something 1,000,000 times (long!)
            ' do something here
            Cells(x, 1) = x
        Next x
    
    handleCancel:
    
        If Err = 18 Then
            If MsgBox("You cancelled", vbYesNo, "Continue (Yes/No") = vbYes Then
                Resume
            End If
        End If
    
    End Sub
    
    Weitere Details hier
     
  5. Tauchmann Erfahrener User
    Hallo RPP63, Hallo maninweb, Hallo Storax,

    bitte entschuldigt meine sehr späte Antwort (war beruflich unterwegs).
    Danke für Euren Input mit den notwendigen Tips und den Denkanstößen.
    Habe eine Möglichkeit gefunden es über ein UserForm zu realsieren :) und dabei ist das Zauberwort DoEvents VBA: Laufendes Macro individuell abbrechen (per UserForm ???) :eek:.
    Ich habe Euch mal mein Test File angehängt, damit Ihr, wenn Ihr Lust habt, mal schauen könnt.

    Nochmals Danke für Eure Hilfestellungen und Denkanstöße.
    Schöne Grüße
    Tauchmann
     
    Tauchmann, 12. November 2017
    #5
  6. Storax User
    Das Ding bringe ich ja mit einem Klick zum Absturz. Klicke während der Ausführung auf Cancel (das x in der Form)!

    Die Frage ist, was ist die wirkliche Anforderung?
    Eine Fortschrittsanzeige im Formular? Das wird üblicherweise anders gemacht!
    Soll der Benutzer während der Ausführung den Code abbrechen können? Dann eher über die oben beschriebenen Methoden.
    Den Code, den Du vorstellst, bremst ja alles aus bzw. ohne Application.Wait sieht es aus wie ein Video-Spiel
     
Thema:

VBA: Laufendes Macro individuell abbrechen (per UserForm ???)

Die Seite wird geladen...
  1. VBA: Laufendes Macro individuell abbrechen (per UserForm ???) - Similar Threads - VBA Laufendes Macro

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  7. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  8. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden