Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo FI's

Ich habe in meiner Exceltabelle (Preisliste mit über 40 Tabellen) mehrere Makros erstellt (die auch funktionieren), die aber z.T. 1- 2 Minuten laufen. Da kommt es schon mal vor, dass der eine oder andere meint, der Rechner oder Excel selber habe sich aufgehängt und dann drücken sie "Escape" - was folgt ist eine Fehlermeldung.

Ich möchte nun, dass sich das Makro beenden läßt (Exit Sub), sobald einer Escape oder bei einem Inputfenster die "Abbrechen"-Taste drückt.

Hat von euch einer eine Lösung parat?

Danke schon mal

Barakuda

Geschrieben

Arbeiten deine Makros im Hintergrund oder mit UserForms? Bei den Forms gibt es ein Event, das da heißt: "KeyPress". Da kannst du den Ascii-Wert der gedrückten Taste abfragen, und wenn diese mit "ESC" übereinstimmt, dein Proggi/Makro abschiessen bzw. beenden.

Ob und wie genau das ohne Form geht, kann ich dir leider nicht sagen!

Geschrieben

In den Makros sind teilweise Schleifen integriert, das Abbrechen soll aber vor dem Schleifendurchlauf möglich sein.

Ein User sucht sich beispielsweise über eine Inputbox div. Zellen aus, diese werden dann an eine Wordvorlage weitergereicht und in vorhandene Textmarken eingefügt (Etiketten drucken) bevor er nun aber die asugewählten Daten an Word sendet, wird nochmal eine Msgbox eingeblendet, in der alle von ihm ausgesuchten Daten angezeigt werden. Wenn er auf OK drückt, startet der Rest vom Malro, wenn er auf ABbrechen drückt, soll das Makro benedet werden.

Ich habe es mittlerweile selber hingekriegt, ob es richtig ist weiss ich nicht, aber es funktioniert.

Ich habe folgenden Code benutzt:

If NameDerMsgbox = vbOK Then

- hier folgt der Rest des Makros -

Else

Exit Sub

End If

Ob das nun syntaktisch richtig ist oder nicht, weiss ich nicht. Die gleiche funktion benutze ich, wenn der User ein neues Tabellenblatt erstellt. Hierzu gibt es eine Vorlage eines Tabellenblattes, dieses wird kopiert und mittels Inputbox werden der Blattname, die Position, wo es eingegliedert werden soll, sowie über SVerweis mit Daten gefüllt. Auch hier funktioniert mein Code.

Falls einer von euch aber eine bessere/sicherere Lösung weiss, bin ich gerne vereit, diese zu übernehmen.

Barakuda

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...