Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1576to1580
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
Problem mit UF: "mm:ss"
23.08.2017 12:06:03
Franz
Hallo Fachleute,
mit dieser Datei https://www.herber.de/bbs/user/115661.xls hab ich gestern schon hier tolle Hilfe erhalten, was Zahlen angeht.
Jetzt hab ich 2 Probleme mit der Darstellung der Zeit:
1. Ruft man die UF auf und liest die zugehörige Zeit ein, erscheint nicht dasselbe wie in der Zelle (Zelle formatiert "benutzerdefiniert mm:ss")
2. Wie muss ich in die UF z. B. "17:30" eingeben, damit das dann auch so in der Zelle erscheint und womit weitergerechnet werden kann. So als ob man direkt in die Zelle eintippen würde: 0 : 17 : 30
Krieg ich da bitte Eure Hilfe.
Danke schonmal und Grüße
Franz

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit UF: "mm:ss"
23.08.2017 12:21:35
JoNNy
Hallo Franz,
du könntest mit den Werten arbeiten. D.h. wenn in Excel in der Zelle steht 12:00,
dann ist das als Dezimalwert 0,5 und bei 24:00 ist es 1 vielleicht kannst du damit was anfangen?
Anderenfalls kannst du das ganze auch über die Zeichenfolge an sich lösen,
da hätte ich auch noch bisschen Code rumliegen falls du den brauchst.
Gruß JoNNy
AW: Problem mit UF: "mm:ss"
23.08.2017 12:32:04
Franz
danke, Jonny,
für Deine Antwort. Aber da bräuchte ich tatsächlich zu beidem Nachhilfe bzw.Code, das ist nicts, womit ich auf Anhieb was anfangen könnte. Darf ich Dich bitte?
Grüße
Franz
AW: Problem mit UF: "mm:ss"
23.08.2017 12:51:40
JoNNy
Also ich würde es so lösen das er einfach den Wert übernimmt,
aber das geht ja leider nicht, da er das Format nicht im Fenster anzeigen kann.
Was ich gerade auch probiert habe ist das ganze einfach als Text also als String zu speichern.
Hierbei ist das Problem das zwar die Eingabe klappt, aber das auslesen nicht.
Ich gucke mir das gleich nochmal an,
das ist nämlich etwas anders als das was ich damals gemacht habe.
Da war es so das ich nur mit Excel-Zellen gearbeitet habe hier arbeitest du ja mit einem Form.
Anzeige
AW: Problem mit UF: "mm:ss"
23.08.2017 12:53:13
JoNNy
Eine Möglichkeit wäre ja noch ein TimePicker, das wäre aber für den Zweck glaub ich zu viel des guten.
AW: Problem mit UF: "mm:ss"
23.08.2017 13:12:05
JoNNy
Sooooo ich denke ich habs.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Application.Intersect(Target, Range("RngDatum")) Is Nothing Then
ufTest.lbDatum = Target
ufTest.txtZeit = Target.Offset(0, 1)
ufTest.Show
End If
End Sub
Probiers mal aus bei mir scheint es zu klappen. :)
Gruß JoNNy
AW: Problem mit UF: "mm:ss"
23.08.2017 13:23:42
Franz
Hallo Jonny,
nein, das zeigt den Dezimalwert an bei mir. Aber da hilft mir schon das, was Marcel gepostet hat. Und die Erklärung dazu.
Es geht jetzt nur noch um das zweite Problem: was muss ich mit dem WErt in der Textbox machen, dass er im richtigen Format in die Zelle geschrieben wird. Und das auch noch tatsächlich als Uhrzeit und nicht als String, damit damit weitergerechnet werden kann.
Danke erstmal und Grüße
Franz
Anzeige
AW: Problem mit UF: "mm:ss"
23.08.2017 13:34:15
JoNNy
https://www.herber.de/bbs/user/115665.xls
Also die Tabelle hier klappt bei mir, kann aber auch daran liegen das wir unterschiedliche Excel-Versionen haben.
AW: Problem mit UF: "mm:ss"
23.08.2017 13:45:20
Franz
Hallo Jonny,
ja, die Anzeige stimmt, aber der Zehlenwert nicht. Aber schau Dir mal bitte 6.8. und 7.8. an: in beiden erscheint dasselbe. Aber F14 steht 00:35:02, in F15 dagegen steht 35:02, also ein gänzlich anderer Wert. Und schau Dir drunter mal den Graphen an, die beiden Werte stehen ganz woanders. Ich hab keine Ahnung, wie das gehen kann.
Grüße
Franz
AW: Problem mit UF: "mm:ss"
23.08.2017 13:56:18
JoNNy
Hab den Fehler gefunden das mit dem falschen Wert passiert dann wenn du in das Feld was manuell reinschreibst und dann das Form "aktivierst". Und das liegt denk ich daran, dass das mit einem String gelöst ist. Ich werde das mal mit den Codefetzen die ich noch habe probieren die machen nämlich z.B. aus dem String "12:00" den Wert 0,5 das sollte hilfreich sein :)
Melde mich sobald ich was hab.
Gruß JoNNy
AW: Problem mit UF: "mm:ss"
23.08.2017 13:57:41
Franz
Super, danke. Ich meld mich dann auch wieder, muss jetzt mal kurz weg.
Danke
Franz
AW: Problem mit UF: "mm:ss"
23.08.2017 16:23:17
JoNNy
Also ich bin grad noch am hin und her überlegen aber das ist echt nicht leicht, mit "hh:mm" wäre das kein Problem für mich, da bin ich inzwischen Profi weil ich damit ewig arbeiten musste.
Ich versuch mich weiter daran und vielleicht steigt ja noch jemand hier ins Thema ein, der auch bisschen mit tüftelt :)
Gruß JoNNy
Anzeige
AW: Problem mit UF: "mm:ss"
23.08.2017 16:42:45
Franz
ja, das wär fein. Ich bin auch immer wieder am Probieren, komm aber auf keinen grünen Zweig.
Danke Dir
Franz
AW: Problem mit UF: "mm:ss"
23.08.2017 16:51:15
JoNNy
Ich habe die Lösung!! Mit etwas Trickserei.
Wasserdicht ist es denk ich noch nicht, aber ich geb dir trotzdem schonmal ne Vorabversion,
nur das du entscheiden kannst ob das für dich klar geht.
https://www.herber.de/bbs/user/115675.xls
Es ist so das du in der Zeiteingabe im UF einfach den ":" weglassen musst quasi für "45:00" nur "4500".
In der Zelle erscheint es dann aber im richtigen Format und auch als Zahl, sodass der Graf richtig dargestellt wird.
Gruß JoNNy
Anzeige
PERFEKT !!
23.08.2017 21:34:03
Franz
Hallo Jonny,
Mensch Du bist ja genial! Das ist wirklich wunderbar! Super, es funktioniert alles genau so wie es soll. Richtig in der UF zu lesen. Und richtiger Eintrag in die Zelle, sodass damit weitergearbeitet werden kann.
Und mit Deiner Idee konnt ich jetzt gleich noch weiterbasteln: Eingabe in die UF z. B. "3704" ergibt beim Verlassen der Textbox innerhalb der UF "37:04", sodass auch gleich in der UF schon das Richtige drin steht. Somit erspart man sich beim Eingeben das Tippen des ":" Denn Deine Lösung zum Eintrag nachher in die Zelle funktioniert ja mit beidem: sowohl "3704" als auch "37:04".
Viiiielen Dank und Grüße
Franz
Anzeige
AW: PERFEKT !!
24.08.2017 08:06:58
JoNNy
Hallo Franz,
schön das das so gut geklappt hat.
Ich hab lediglich an der alten Lösung noch etwas rumgedoktort.
Das war quasi das gleiche nur mit "hh:mm".
Hab das ganze gleich ins Portfolio mit aufgenommen. :)
Gruß JoNNy
AW: PERFEKT !!
24.08.2017 08:09:01
JoNNy
Nur noch aus Interesse, was hast du noch dran gemacht? :)
Also Code mäßig?
AW: PERFEKT !!
24.08.2017 08:23:38
Franz
Guten Morgen!
Sorry, wollt ja die Datei wieder anhängen: https://www.herber.de/bbs/user/115691.xls
Private Sub txtZeit_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
ufTest.txtZeit = Left(ufTest.txtZeit, 2) & ":" & Right(ufTest.txtZeit, 2)
End Sub
Das Schöne ist, das funktioniert, ob man die Zahl mit oder ohne ":" eingibt!
Nochmal vielen Dank Dir!
Grüße
Franz
Anzeige
Ist das nicht doppelt ?
24.08.2017 08:42:55
JoNNy
Ok cool danke.
Aber wozu genau ist das BeforeUpdate da ?
Das passiert ja so eigentlich schon in OKClick oder überseh ich da was? :)
Und sorry wegen der Fragen :D
Gruß JoNNy
Ok sorry sehs jetzt xD O.w.T.
24.08.2017 08:46:02
JoNNy
AW: Ist das nicht doppelt ?
24.08.2017 11:18:48
Franz
ja, Du hast recht. Aber bei der eigentlichen Verwendung dieser Sache gibt's mehrere Textboxen in der UF. Und mit BeforeUpdate wird das dann aktualisiert und somit richtig geschrieben, wenn man die Textbox verlässt.
Aber Du hast natürlich schon recht, es geht nur um die Optik. Für die tatsächliche Übertragung in die Zelle ist es nicht von Bedeutung.
Grüße
Franz
AW: Problem mit UF: "mm:ss"
23.08.2017 12:29:53
Marcel
Hallo Franz,
für Frage 1 habe ich bereits eine Lösung gefunden:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Application.Intersect(Target, Range("RngDatum")) Is Nothing Then
ufTest.lbDatum = Target
ufTest.txtZeit = Target.Offset(0, 1)
ufTest.txtZeit = WorksheetFunction.Text(Target.Offset(0, 1), "mm:ss")
ufTest.Show
End If
End Sub
Für deine zweite Frage brauche ich noch etwas Zeit.
LG,
Marcel
Anzeige
AW: Problem mit UF: "mm:ss"
23.08.2017 12:36:26
Franz
Hallo Marcel,
ist ja toll - danke! Warum das wohl mit "Text" aus dem Worksheet geht, aber nicht mit Format?!?
Grüße
Franz
AW: Problem mit UF: "mm:ss"
23.08.2017 13:14:32
Marcel
Hallo Franz,
hier kam dieses Thema schon einmal auf. Ist ein Bug in VBA.
https://www.herber.de/forum/archiv/1032to1036/1033605_Textbox_Minuten_und_Sekunden.html
Zu Frage 2: So funktioniert es bei mir.

Private Sub btnOK_Click()
Dim strdate As String
strdate = "00:" & txtZeit.Value
ActiveCell.Offset(0, 1).Value = WorksheetFunction.Text(strdate, "hh:mm:ss")
Unload Me
End Sub
Gruß,
Marcel
Anzeige
AW: Problem mit UF: "mm:ss"
23.08.2017 13:18:38
Franz
danke für die Erklärung, Marcel!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige