Office: VBA Zeitdifferenz ermitteln

Helfe beim Thema VBA Zeitdifferenz ermitteln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich kriege es einfach nicht hin, kann mir bitte jemand helfen? Gegeben: Ein Excelsheet mit zwei Einträgen: A2=Datum/Zeit : 22.03.2023... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Pfefferminztee, 19. April 2023.

  1. VBA Zeitdifferenz ermitteln


    Hallo zusammen,
    ich kriege es einfach nicht hin, kann mir bitte jemand helfen?

    Gegeben: Ein Excelsheet mit zwei Einträgen:
    A2=Datum/Zeit : 22.03.2023 19:05:32
    B2=Zeit: 19:04:23

    Gesucht:
    Abs. Zeitdifferenz in Sekunden ohne Berücksichtigung des Datums in einer VBA-Variablen.

    Sieh einfach aus...

    Ganz lieben Dank schon mal für eure Hilfe
     
    Pfefferminztee, 19. April 2023
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    warum VBA?

    Tabelle1
     ABC
    119.04.2023 12:2322.04.2023 12:353,00833333333139

    verwendete Formeln
    Zelle Formel Bereich N/A
    C1=B1-A1  

    Zahlenformate
    Zelle Format Inhalt
    A1 'TT.MM.JJJJ hh:mm  45035,5159722222
    B1 'TT.MM.JJJJ hh:mm  45038,5243055556
    C1 '[ss]  3,00833333333139
    Zellen mit Format Standard werden nicht dargestellt
    http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
    http://Hajo-Excel.de/tools.htm
    Add-In-Version 25.24 einschl. 64 Bit
    XHTML-Tabelle zur Darstellung in Foren, einschl. Funktion zum Zurücklesen in eine Excel-Tabelle



    VBA Zeitdifferenz ermitteln GrußformelVBA Zeitdifferenz ermitteln Homepage
     
    Hajo_Zi, 19. April 2023
    #2
  3. Lieben Dank für deine Antwort.
    Warum in VBA?
    Weil ich es gerne direkt innerhalb eines VBA-Scriptes auswerten würde. Das Sheet selber soll unverändert bleiben. Innerhalb des Sheets bekomme ich das hin, indem ich deinen Wert in Spalte C um den ganzzahligen Teil derselben subtrahiere.
     
    Pfefferminztee, 19. April 2023
    #3
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    VBA Zeitdifferenz ermitteln

    Gut zu Deiner Lösung kann ich nichts schreiben, da ich nicht auf Deinen Rechner schaue.
    Ich bin dann raus.

     
    Hajo_Zi, 19. April 2023
    #4
  5. Exl121150 Erfahrener User
    Hallo,

    Code:
    Option Explicit
    
    Public Function Zeitdifferenz() As Double
      Dim DateTime1 As Double, Time2 As Double
      Dim Date1 As Double
      Dim Diff As Double
     
      With ActiveSheet
           DateTime1 = .Range("A2").Value
           Time2 = .Range("B2").Value
      End With
     
      Date1 = WorksheetFunction.Floor_Math(DateTime1, 1#)
      Diff = DateTime1 - Date1
      Zeitdifferenz = Diff - Time2
    
    End Function
    
     
    Zuletzt bearbeitet: 19. April 2023
    Exl121150, 19. April 2023
    #5
    1 Person gefällt das.
  6. Hallo, auch dir lieben Dank Anton!
    Ich teste es gleich morgen aus. Sieht im Grunde so aus, wie bei meinen erfolglosen Versuchen, nur die Worksheet.function kannte ich noch nicht. Aber, rein optisch Daumen hoch!
    Nochmals Danke und Grüße Ove
     
    Pfefferminztee, 19. April 2023
    #6
  7. So, ich habe es nun probiert und generell den Daumen hoch, es funktioniert.

    Nun, ich könnte mich jedoch ohrfeigen,
    denn das Datum liegt nicht wie anfangs beschrieben im Format
    22.03.2023 19:05:32 vor, sondern im Format
    22/03/2023 19:05:32
    Nun kommt es zu einer Typenunverträglichkeit. 8-(
    Weis jemand, wie ich die auflöse?

    Lieben Dank und Grüße Ove
     
    Pfefferminztee, 20. April 2023
    #7
  8. HKindler
    HKindler hat Ahnung

    VBA Zeitdifferenz ermitteln

    Hi,

    wieso so umständlich?
    Code:
    Option Explicit
    
    Public Function Zeitdifferenz() As Double
    Dim DateTime1 As Double, Time2 As Double
    With ActiveSheet
        DateTime1 = .Range("A2").Value
        Time2 = .Range("B2").Value
    End With
    Zeitdifferenz = DateTime1 - Int(DateTime1)  - Time2
    End Function

    EDIT: Das Format ist doch egal, solange es eine echte Excel-Zeit und kein Text ist.
    Falls es ein Text ist, dann kann dieser mit DateValue(Text) oder auch mit CDate(Text) umgewandelt werden.
     
    HKindler, 20. April 2023
    #8
    1 Person gefällt das.
  9. geht leider nicht, wegen der selben Typenunverträglichkeit.

    Das Format der Ursprungszelle ist „Standard“, das kann ich im Sheet nicht ändern, denn es soll ja „unberührt“ bleiben.

    Nachtrag: und tatsächlich,
    Int(Cdate(DateTime1) wie auch
    Int(DateValue(DateTime1)
    funktionieren beide.
    Dann war wohl das von mir nicht erkannte Textformat die Ursache meines Problems.
    Gut, dass es euch hier gibt! ;-)

    Dann ist mein Problem Dank euch jetzt gelöst!
    Vielen Dank!

    Viele Grüsse Ove
     
    Zuletzt bearbeitet: 20. April 2023
    Pfefferminztee, 20. April 2023
    #9
Thema:

VBA Zeitdifferenz ermitteln

Die Seite wird geladen...
  1. VBA Zeitdifferenz ermitteln - Similar Threads - VBA Zeitdifferenz ermitteln

  2. Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    Zeilen aufgrund von bestimmten Informationen in anderes Tabellenblatt kopieren: Hallo zusammen, ich bin erst vor ein paar Tagen auf die Excel VBA gestoßen und kenne mich deswegen leider so gut wie gar nicht aus. Ich würde gerne aus den Tabellen 3 - 11, bestimmte Zeilen in die...
  3. Zeilen mit bestimmten Wert in andere Tabelle (VBA Makro)

    in Microsoft Excel Hilfe
    Zeilen mit bestimmten Wert in andere Tabelle (VBA Makro): Hallöchen, ich stehe aktuell vor folgendem Problem: Wir haben ein Excel Makro, das über die Zeiterfassung alle Mitarbeiter und ihre Stunden in verschiedenen Positionen auflistet. Eine abgespeckte...
  4. einzelne Spalten in neue Dateien kopieren

    in Microsoft Excel Hilfe
    einzelne Spalten in neue Dateien kopieren: Hallo zusammen, ich brauche ein wenig Hilfestellung: Ich habe eine Tabelle (exemplarisch) Titel A Titel B Spalte A Spalte B...
  5. VBA Code soll erst ausgeführt werden, wenn mehrere Felder NICHT leer sind

    in Sonstiges
    VBA Code soll erst ausgeführt werden, wenn mehrere Felder NICHT leer sind: Hallo zusammen, ich möchte, dass mein VBA Code nicht nur (wie in meinem Code) die Zelle B4 prüft, ob diese ausgefüllt ist, er soll auch noch vier weitere Zellen überprüfen. Sub NeueAbrechnung()...
  6. Zugriff auf andere Excel Datei ohne aktives Öffnen

    in Microsoft Excel Hilfe
    Zugriff auf andere Excel Datei ohne aktives Öffnen: Liebe Community, ich habe mir eine Formel geschrieben um Werte aus einer anderen Excel Datei in meine Haupt Excel Datei einzufügen. Leider muss die Datei aus der ich die Daten haben will immer...
  7. Autowert per VBA erhöhen und speichern

    in Microsoft Access Hilfe
    Autowert per VBA erhöhen und speichern: Hallo, ich möchte beim Öffnen eines Formulars gerne einen Datensatz erzeugen. Hierzu verwende ich folgenden VBA-Code: CurrentDb.Execute "insert into tbl_Autowert (ID, User, Datum, Uhrzeit) " &...
  8. Excel VBA Laufzeitfehler 424 Objekt erforderlich

    in Microsoft Excel Hilfe
    Excel VBA Laufzeitfehler 424 Objekt erforderlich: Hallo zusammen, ich habe schon verschiedene Antworten zum Laufzeitfehler 424 gefunden, komme aber leider damit doch irgendwie nicht weiter (bin absoluter VBA-Neuling). Folgendes Makro habe ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden