Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Datum Werte über VBA verketten


Betrifft: Datum Werte über VBA verketten von: Jochen
Geschrieben am: 03.07.2017 09:27:18

Hallo zusammen,

folgende Problem zur Umsetzung in VBA.

Über ein Webtool erhalten wir unsere Aufträge. Dabei wird das Start- und das Enddatum in zwei Feldern angezeigt aus denen ich den Text kopieren kann. Den Inhalt übernehme ich dann in eine Userform (TextBox) zur Weiterbearbeitung. Das Datenformat sieht dabei wie folgt aus:

Visit start: 2017-07-10 08:00
Visit end: 2017-07-14 18:00

Aus den Start- und Enddatumswerten soll später in einer Zelle nur die Zusammenfassung ohne Uhrzeit übernommen werden:

Limited period: 10.07.2017 - 14.07.2017

Mein Ziel ist dieses direkt über VBA beim klick auf Ok in der Userform zu verarbeiten und den Datum-Zusammenfassung in die Zielzelle zu übernehmen.

Was in einem Tabelleblatt auch recht einfach umzusetzen ist...

A1 => Startdatum
B1 => Enddatum
C1 => =VERKETTEN(TEXT(A1;"TT.MM.JJJJ") & " - " & TEXT(B1;"TT.MM.JJJJ"))

... lässt mich mit VBA an meine Grenzen stoßen, ich bekomme es nicht hin. Nach vielen Versuchen glaubte ich das Problem darin gefunden zu haben das die Userform ja eine "Text" Abfrage ist und ich hier erst das Format auf Datum ändern muss aber leider brachte mich dies auch nicht zum Ziel. Aktuell nutze ich noch Hilfsspalten direkt im Tabellenblatt mit obiger Formel als "work around", möchte das bald lösen.

Es wäre wunderschön wenn mir jemand den entscheidenen Tipp oder ein Beispiel aufzeigen könnte. Es wäre fantastisch wenn diese Lösung auch so flexible wie die obige Formel-Lösung wäre, die scheinbar mit allen Datumsschreibweisen zu recht kommt, ausreichend wäre aber die Lösung zu oben vermerkter Schreibweise aus dem Webtool.

Vielen Dank für die Unterstützung ans Forum, die Suche hat mich hier und im Internet leider nicht weiter gebracht!

Gruß Jochen

  

Betrifft: AW: Datum Werte über VBA verketten von: Michael (migre)
Geschrieben am: 03.07.2017 10:18:23

Hallo!

Als Anstoß ein Bsp., Bei mir stehen die Ausgangsdaten in A1:A2, ausgegeben wird im Direktfenster (umlegen auf Deine Userform musst Du selbst):

Sub a()
    Dim VisitStart
    Dim VisitEnd
    Dim VisitShort
    
    VisitStart = [A1]
    VisitEnd = [A2]
    
    Debug.Print VisitStart, VisitEnd
    VisitStart = CDate(Format(VisitStart, "DD.MM.YYYY"))
    VisitEnd = CDate(Format(VisitEnd, "DD.MM.YYYY"))
    VisitShort = "Limited Period: " & VisitStart & " - " & VisitEnd
    Debug.Print VisitShort
End Sub
LG
Michael


  

Betrifft: AW: Datum Werte über VBA verketten von: Jochen
Geschrieben am: 03.07.2017 10:30:57

Hallo Michael,

super, vielen Dank die schnelle Antwort und vor allem für das Augen öffnen.

Mit CDate hatte ich auch schon einges probiert, allerdings immer so:
VisitStart = CDate(Format((VisitStartTextBox.Value), "0"))

Problem gelöst und die Lösung war wieder einmal viel einfacher als gedacht aber wenn man sich erst mal verannt hat ...

Gruß Jochen


  

Betrifft: Gern, viel Erfolg noch! lg udn owT von: Michael (migre)
Geschrieben am: 03.07.2017 10:35:14