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

verrücke Reaktion des Makros

verrücke Reaktion des Makros
05.10.2017 10:13:55
Hans-Jürgen
Hallo zusammen,
ich habe etwas gant Verrücktes, was ich mir nicht erklären kann:
In einer Sub, in der es um die Fehlerbehandlung geht, sieht es wie folgt aus: (Cases gekürzt dargestellt)
Sub Fehler_abfangen(SERRR, BERRX, BERRY)
Dim t As String 'Fehlertext
Select Case Err.Number
Case 1001:
t = "Dies ist ein Pflichtfeld"
End Select
If BERRY = 0 Then
BERRY = 1
End If
Application.Goto Reference:=Worksheets(SERRR).Cells(BERRY, BERRX)
MsgBox t
FSTOP = True
End Sub

Die übergebenen SERRR, BERRX und BERRY kennenzeichnen den Reiter, die Zeile und die Spalte, in denen der Fehler aufgetreten ist.
Ich will nun, so wie es eigentlich da steht, dass das System ERST auf die Seite mit dem Fehler springt und DANN den Text ausgibt. Es passiert aber genau umgekehrt: Erst kommt die Msgbox, und sobald man "OK" gedrückt hat, springt er auf die Seite.
Wer weiß, woran das liegen könnte?
Vielen Dank
Hans-Jürgen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verrücke Reaktion des Makros
05.10.2017 10:22:02
Matthias
Hallo
Probier mal ob das klappt
Vor der Box diese Zeile
Application.Wait Now + TimeSerial(0, 0, 1)
Nur mal als Versuch.
Gruß Matthias
AW: verrücke Reaktion des Makros
05.10.2017 11:13:54
Hans-Jürgen
Hallo Matthias,
vielen Dank, auf die Idee, eine Dummy-Anweisung dazwischenzusetzen, war ich auch schon gekommen. Auch mit deinem Vorschlag leider negativ.
Viele Grüße
Hans-Jürgen
probier auch Daniels Vorschlag ...
05.10.2017 11:26:56
Matthias
Hallo,
Probier mal die Wartzeit zu erhöhen auf z.b. 2 Sek (nur als Bsp.)
Application.Wait Now + TimeSerial(0, 0, 2)

Einfach mal ausprobieren und Zeit(Sek.) erhöhen.
und/oder probiere auch Daniels Vorschlag.
Gruß Matthias
Anzeige
AW: probier auch Daniels Vorschlag ...
05.10.2017 12:01:09
Luschi
Hallo Hans-Jürgen,
bei mir passiert das auc (Excel 2016), deshalb benutze ich dieses Konstrukt:

Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Popup t, 0, "zur Info..."
Set objShell = Nothing
Application.Goto Reference:=Range("Tabelle1!B10")
Gruß von Luschi
aus klein-Paris
Bildschirmaktualisierung ausgeschaltet?
05.10.2017 11:03:25
Daniel
Hi
kann es sein, dass du im übergeordneten Marko die Bildschirmaktualisierung ausgeschaltet hast?
(Application.ScreenUpdating = false)
die müsstest du natürlich vorher wieder einschalten, sonst bleibt der Bildschirm eingefroren, bis das letzte Makro beendet ist.
wenn das der Fall ist, dann müsstest du vor Ausgabe der Msgbox noch ein Application.ScreenUpdating = True ausführen.
Gruß Daniel
Anzeige
Das war es! Danke! Ihr seid die Besten! (owT)
05.10.2017 12:01:59
Hans-Jürgen
x

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige