Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1560to1564
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

UserForm bei Eintrag abfrage ob 10 Stunden übersch

UserForm bei Eintrag abfrage ob 10 Stunden übersch
02.06.2017 20:04:41
Werner
Hallo zusammen
Über eine User Form möchte ich die Leiharbeiter in die Anwesenheitsliste eintragen. Das geht auch. Nun kann es vorkommen, das der Leiharbeiter in unterschiedlichen Abteilungen während der Schicht arbeitet. Er darf aber nicht länger als 10 Stunden am Tag Arbeiten. Wenn ich also über die User Form die Zeile 5 eintragen möchte, soll eine MsgBox aufgehen mit dem Hinweis, dass der Eintrag die 10 Stunden überschreitet und wenn es geht auch die überschrittene Zeit. In dem Beispiel sind es ja 0,5 Stunden. Mit dem Button Ok soll der Eintrag abgebrochen werden und nicht in die Leist eingetragen werden.
Ich würde mich freuen, wenn mir jemand helfen kann.
Gruß Werner
https://www.herber.de/bbs/user/113992.xlsm

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 02:22:57
onur
Musste alles umschreiben, weil deine Formeln fehlerhaft waren.

Die Datei https://www.herber.de/bbs/user/113997.xlsm wurde aus Datenschutzgründen gelöscht


weil deine Formeln fehlerhaft waren ?
03.06.2017 09:11:41
Matthias
Hallo
Was bitte war da fehlerhaft an den Formeln?
Stand doch explizit dabei: Arbeitsstunden (ohne Pause)
Die verwendeten Formeln sind also Richtig,
sie würden sogar Nachtarbeit berücksichtigen.
Wie kommst Du denn auf die Idee, das die Formeln fehlerhaft sind?
Gruß Matthias
AW: weil deine Formeln fehlerhaft waren ?
03.06.2017 10:06:27
Werner
hallo Matthias,
wie würdest Du das lösen, ist die Lösung mit der Abfrage vom Blatt "Eingabe" so optimal?
Private Sub Worksheet_Change(ByVal Target As Range)
'Debug.Print Tabelle1.Cells(2, 10).FormulaR1C1
'Exit Sub
Dim z, s, zeit
z = Target.Row
s = Target.Column
If s  10 Then Exit Sub
For zeile = 2 To z
If Tabelle1.Cells(zeile, 1) = Tabelle1.Cells(z, 1) Then
If Tabelle1.Cells(zeile, 5) = Tabelle1.Cells(z, 5) Then
zeit = zeit + Tabelle1.Cells(zeile, 10)
zeit = zeit
End If
End If
Next zeile
If zeit > 10 Then
MsgBox ("Arbeitszeit um " + Format((zeit - 10), "###0.00") + " Std. überschritten !")
Tabelle1.Rows(z).Delete
End If
End Sub
Gruß Werner
Anzeige
so optimal? Antwort: NEIN
03.06.2017 10:27:42
Matthias
Hallo
Ich würde die Summe auf kleiner/gleich 10 schon vor dem Eintragen ins Tabellenblatt prüfen
Gruß Matthias
AW: so optimal? Antwort: NEIN
03.06.2017 10:49:02
Werner
Hallo Matthias,
wie kann ich das machen?
Gruß Werner
eine Variante ...
03.06.2017 11:18:14
Matthias
Hallo
Du musst die Summe der Arbeitsstunden addieren, wenn in Spalte(A) das gleich Datum steht.
Diese Summe schreibst Du in eine Variable.
Dannach addierst Du
24 * (CDate(cboEnde) - CDate(cboBeginn))

Ergibt also bei 14:00 bis 16:30 = 2,5
Ist dieser mit der Variable summierte Wert größer als 10 machst Du eine Meldung und Exit Sub
Hattest Du also voher 8 Std. und das Ergebnis wäre hier 10,5 Std.
brichst Du den Code ab.
Gruß Matthias
Anzeige
AW: weil deine Formeln fehlerhaft waren ?
03.06.2017 10:47:55
onur
Anstatt dich zu bedanken meckerst du herum?
Sie waren insofern fehlerhaft (Az-Berechnung), dass 16,5 stunden herauskamen, wenn Beginnzeit leer war - Wenn man solche Formeln erstellt, mus man auch so etwas abfangen.
Und gerade dies war notwendig für meinen Code.
AW: weil deine Formeln fehlerhaft waren ?
03.06.2017 11:08:14
Werner
Hallo onur,
ich habe über nichts gemeckert. Ich hatte mich bedankt und dir eine Zusatzfrage gestellt.
Gruß Werner
UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 10:00:22
Werner
Hallo onur,
danke für deine Hilfe funktioniert so weit gut.
Nach dem die Zeile gelöscht wurde, läuft das Makro cmdEintragen_Click von der User Form zum eintragen in die Tabelle aber weiter und trägt in die Spalten 11 bis 14 die Daten weiter ein. Die Zeile ist dann bis zur Spalte 10 leer und danach stehen noch Daten, kannst du das auch noch lösen?
Gruß Werner
Anzeige
AW: UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 11:11:57
onur
Ich schaue mal - (verstehe ich nicht, bei mir lief es einwandfrei).
Sorry für das "meckern" - das war eine Antwort an "Mathias".
und warum meckerst Du jetzt über mich ?
03.06.2017 11:28:35
Matthias
Hallo onur
Zitat:
Sorry für das "meckern" - das war eine Antwort an "Mathias".
Ich hatte Dich nur gefragt was an den Formeln der Datei des Fragenden falsch sei.
Ich war auch nicht beleidigend, sondern habe nur nachgefragt.
Warum also reagierst Du denn so unangemessen?
Schöne Pfingsten
Gruß Matthias
AW: und warum meckerst Du jetzt über mich ?
03.06.2017 11:54:27
onur
Hi Matthias,
Sorry, wie gesagt, es war ein Missverständnis, ich dachte, die Antwort wäre von Werner gewesen und nicht von dir.
"Fehlerhaft" waren ja die Formeln nicht, aber überflüssig (man kann, wenn man schon mit VBA arbeitet, alles in den Code schreiben, statt auch noch Formeln zu verwenden).
Aber das Hauptproblem war die Fehlerabfangung, soll heissen, wenn die Anf.-Zeit leer war, kamen da Werte wie 16,50 stunden dabei heraus.
Und das hatte meinen Code gestört.
Sorry nochmal, DU warst nicht gemeint und ich habe überreagiert.
Gruß
Onur
Anzeige
Danke für die Rückmeldung ... owT
03.06.2017 12:34:18
Matthias
AW: UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 11:45:01
onur
Hi Werner,
Habe ich übersehen, dass die Userform einfach weitermacht.
Habe den Code im Change-Ereignis in der Userform integriert.
Nachteil- Jetzt funktioniert es nur noch über Userform, früher hat der Code auch auf manuelle Eingaben auf dem Blatt reagiert.
Gruß
Onur
UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 12:14:26
Werner
Hallo onur,
es soll auch nur über die Userform eingetragen werden. 10 Stunden geht aber nicht. Da kommt die Meldung das die Zeit mit 0,00 Stunden überschritten ist.
Gruß Werner
AW: UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 12:29:35
onur
Hi Werner,
Habe ich auch mal gehabt, eion interner Rechenfehler von Excel, manchmal kommt bei 14:00-8:00 6,0000000..01 Sunden heraus.
Mach einfach aus
If zeit > 10 Then

If zeit > 10.001 Then
dann gibt es keine Probleme.
Gruß
Onur
Anzeige
UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 12:32:35
Werner
Hallo Onur.
danke für die Hilfe, jetzt läuft alles.
Gruß Werner
AW: UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 12:34:23
onur
Gern geschehen.
AW: UserForm bei Eintrag abfrage ob 10 Stunden übersch
03.06.2017 11:46:26
onur
oops - die datei vergessen:

Die Datei https://www.herber.de/bbs/user/113998.xlsm wurde aus Datenschutzgründen gelöscht


300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige