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

Inputbox nur Stunden:Minuten zulassen

Inputbox nur Stunden:Minuten zulassen
14.05.2020 16:41:01
Mike
Hallo zusammen,
ich habe eine Datei mit mehreren Tabellenblätter, wenn ich das erste mal das Tabellenblatt "Januar" öffne, möchte ich mehrere Inputboxen öffnen, in den der Benutzer Werte in Stunden:Minuten (Übertrag vom letzten Jahr) eingeben soll.
Wenn er ein falsches Format (nicht [hh]:mm) eingibt, dann soll eine Fehlermeldung kommen und die Inputbox neu starten, wenn er nichts eingibt, soll der Wert 0:00 an die Zelle weiter gegeben werden und ansonsten, soll der eingegebene Wert in dieser Zelle stehen.
Damit die Inputboxen nur einmal aufgerufen werden, könnte man ja zum Beispiel einfügen, nur ausführen, wenn die betroffene Zelle noch leer ist.
Vielen Dank für eure Hilfe.
Liebe Grüße,
Mike

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 18:05:07
Rudi
Hallo,
als Anregung:
Sub aaa()
Dim i
i = InputBox("Zeit")
If Not IsDate(i) Then MsgBox "keine Zeit"
End Sub

Gruß
Rudi
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 19:06:34
Mike
Hallo Rudi,
vielen Dank für Deine Antwort.
Es funktioniert leider nur zum Teil.
Erstens wenn ich zum Beispiel 26:30 eingebe, dann kommt er damit nicht klar.
Zweitens, wenn ich zum Beispiel 12,5 eingebe, gibt er keine Fehlermeldung aus, sondern übergibt den Wert 12,5 mit dem ich dann nicht weiter rechnen kann.
Gruß,
Mike
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 19:43:13
Daniel
HI
probier mal:
if not ((i Like "##:##" or i Like "#:##") and val(Right(i, 2) 
der Anwender muss dann 3 oder 4 Ziffern getrennt mit Doppelpunkt eingeben und die Zahl nach dem Doppelpunkt muss kleiner 60 sein (Minuten oder Sekunden)
Gruß Daniel
Anzeige
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 20:31:02
Mike
Hallo Daniel,
danke für deine Antwort.
Wenn ich deine Zeile eingebe, kommt immer der Fehler: "Fehler beim kompilieren".
Gruß,
Mike
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 21:05:50
Daniel
Hi
ich schreib den Code halt gerne mal direkt ins Forum, vorallem dann wenn der Fragesteller keine Beispieldatei oder eigene Codeversuche geliefert hat.
da gibt's dann halt schnell ein paar Tippfehler.
Allerdings erkennt man so wie in der Schule, wer nur abschreibt ohne nachzudenken und wer versucht das Prinzip zu verstehen und dann entsprechend selber zu prorgrammieren.
ich hab halt ein Klammer zu beim VAL vergessen, so geht's
If Not ((i Like "##:##" Or i Like "#:##") And Val(Right(i, 2)) 
wenn die Stunden auch dreistellig sein können, müsstest du noch ein Or i like "###:##" hinzufügen (und bei 4 stelligen Stunden noch ein weiteres)
beachte, dass du bei dieser Eingabeform keine Excelautomatik verwenden kannst, um den Text in eine echte Zeit umzurechnen.
dazu musst du den eingebenen Text dann beim Doppelpunkt aufteilen, getrennt für Stunden und Minuten in Ganzahlen umwandeln und damit die Zeit berechnen.
Gruß Daniel
Anzeige
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 21:20:22
Mike
Hallo Daniel,
entschuldige bitte, Du hast natürlich recht, ich habe nur abgeschrieben, aber meine Kenntnisse in VBA sind so bescheiden, das ich leider nur die Hälfte selbst nachvollziehen konnte.
Trotzdem danke für deine Hilfe.
Gruß Mike
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 19:55:19
Rudi
Hallo,
war ja nur ne Anregung.
Sub aaa()
Dim i
i = InputBox("Zeit")
If i = "" Then
i = "0:00"
Else
On Error Resume Next
i = CDate(i)
On Error GoTo 0
Select Case True
Case IsEmpty(i), Not IsDate(i), i - Int(i) = 0
MsgBox "keine Zeit"
Case Else
MsgBox i
End Select
End If
End Sub

Gruß
Rudi
Anzeige
AW: Inputbox nur Stunden:Minuten zulassen
14.05.2020 20:35:22
Mike
Hallo Rudi,
vielen Dank nochmal.
Leider kann ich aber immer noch nicht Stunden über 24 Stunden eingeben. Da es aber ein Jahresübertrag vom letzten Jahr ist, kann es auch vorkommen, das zum Beispiel 40 Stunden und 30 Minuten (40:30) ([hh]:mm) in die Inputbox eingetragen werden.
Gruß,
Mike

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige