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

Ausführen bis Wert erreicht

Ausführen bis Wert erreicht
markus
Hallo zusammen,
ich habe ein Makro, welches mit dem die Falscheingabe verhindert wird.
Da die Anwendung im Netzwerk läuft, sind nicht alle Rechner gleich schnell und so kann es vorkommen,
das 2 Werte falsch eingegeben werden und sich die Anwendung festrennt.
Wie kann ich Application.Undo solange auführen bis L508 = 0 ist?
If [L508] (größer) 0 Then
MsgBox " Achtung!" & Chr(13) & Chr(13) & " Falsche Eingabe. " _
& Chr(13) & Chr(13) & " Der bzw. die Werte werden zurückgesetzt!"
Application.Undo
End If
Danke und Gruß Markus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ausführen bis Wert erreicht
19.08.2010 11:58:44
JogyB
Hallo Markus,
so wie ich es sehe (lasse mich aber gerne korrigieren), macht Undo immer die letzte Aktionen rückgängig. Bei mehrfacher Ausführung macht es damit immer sich selbst rückgängig.
Aber auch wenn es funktionieren würde, so wäre es dennoch sinnvoller, die Falscheingabe der Werte abzufangen und nicht erst hinterher Schadensbegrenzung zu betreiben.
Gruß, Jogy
AW: Ausführen bis Wert erreicht
19.08.2010 12:03:47
markus
Hallo Jogy,
und wie kann das gehen?
Gruß Markus
AW: Ausführen bis Wert erreicht
19.08.2010 12:08:29
markus
Habe den Haken bei: Frage noch offen vergessen.
AW: Ausführen bis Wert erreicht
19.08.2010 12:42:50
JogyB
Hallo Markus,
woher soll ich das wissen ohne Deine Code zu kennen?
Gruß, Jogy
AW: Ausführen bis Wert erreicht
19.08.2010 13:31:50
markus
Hallo Jogy,
das ist der Code aus "Die Arbeitsmappe":
Die Fehler lasse ich vorher über Formeln auswerten und Das Ergebnis steht dann in L508.
Der Code gilt für alle Arbeitsblätter.
Es muß so sein, das sobald L508>0 ist der Wert nicht angenommen wird.
Da L508 über eine Formel errechnet wird, kommt es je nach Dateigröße zu verzögerungen und damit funktioniert mein Code nur bedingt.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If [L508] > 0 Then
MsgBox " Achtung!" & Chr(13) & Chr(13) & " Falsche Eingabe. " _
& Chr(13) & Chr(13) & " Der Wert wird zurückgesetzt!"
Application.Undo
End If
End Sub

Anzeige
AW: Ausführen bis Wert erreicht
19.08.2010 13:40:39
JogyB
Hallo Markus,
wieso machtst Du das nicht über eine Datengültigkeit?
Gruß, Jogy
AW: Ausführen bis Wert erreicht
19.08.2010 21:14:45
markus
Hallo Jogy,
das ist für eine Arbeitszeiterfassung, wo jeder Mitarbeiter ein eigenes Blatt hat.
das sind schwierige Zusammenhänge, ich lasse z.B. die max. zul. Urlaubstage errechnen usw. ist darin ein Fehler, wird das in Zelle L508 angezeigt.
Ich lasse mich gern belehren, wenn es so einfacher geht.
Hast du da ein Beispiel?
Danke und Gruß Markus
AW: Ausführen bis Wert erreicht
20.08.2010 07:25:54
JogyB
Hallo Markus,
eine Beispieldatei wäre da vorteilhaft, sonst zeige ich jetzt was, was nachher gar nicht geht. Prinzipiell wäre es entweder eine Gültigkeit oder ein Makro, das direkt bei der Eingabe prüft.
Was besser ist, ist ohne Kenntnis der Datenstruktur schwer zu beurteilen.
Gruß, Jogy
Anzeige
AW: Ausführen bis Wert erreicht
23.08.2010 09:40:00
markus
Hallo Jogy,
wollte dir mal meine Datei schicken, diese ist leider zu groß, hast du evtl. eine E-Mail
auf die ich sie dir schicken kann?
Hänge mal nur das betreffende Blatt mit den Formeln zur Prüfunga an
evtl. kannst du damit schon etwas anfangen.
Die roten Zellen sind mit Formeln versehen, rechts die Prüfungen.
https://www.herber.de/bbs/user/71193.xls
Danke und Gruß Markus

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige