Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variablendeklaration Uhrzeit

Forumthread: Variablendeklaration Uhrzeit

Variablendeklaration Uhrzeit
05.10.2007 13:59:46
Melanie
Hallo Profis,
wie muss ich eine Variable deklarieren, wenn sie über eine InputBox zurückkommt und eine Uhrzeit sein soll? Sprich ich frage eine Wunschuhrzeit über eine InputBox ab und will anschließend mit ihr rechnen, nur die Deklaration scheint nid so zu passen.
Freu mich über jede Hilfe!!
Grüße, Melanie

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablendeklaration Uhrzeit
05.10.2007 14:04:57
Andi
Hi,
so?

Sub t()
Dim zeit As Date
zeit = InputBox("Zeit?")
Range("A1") = zeit
End Sub


Schönen Gruß,
Andi

AW: Variablendeklaration Uhrzeit
05.10.2007 14:10:00
Melanie
Schon mal nicht schlecht :o)
Wenn Du mir jetzt noch sagen kannst, wie ich die aktuelle Zeit per VBA abfragen kann, bin ich im Glück Now liefert Datum und Zeit und damit rechnet er nid. Will die Zeitdifferenz zwischen eingegebener Zeit und Jetzt ermitteln.
Grüße, Melanie

Anzeige
AW: Variablendeklaration Uhrzeit
05.10.2007 14:12:16
Hajo_Zi
Hallo Melanie,
MsgBox Time
Gruß Hajo

AW: Variablendeklaration Uhrzeit
05.10.2007 14:10:00
Hajo_Zi
Hallo Andi,
ich würde ja nur numerische Werte zulassen, sonst führt es zu einem Fehler.

Sub uhr()
Dim DaZeit As Date
DaZeit = Application.InputBox("Bitte Zeit eingeben", "Zeitabfrage", 0, Type:=1)
End Sub


Gruß Hajo

Anzeige
wo Du recht hast...
05.10.2007 14:13:00
Andi
... hast Du recht.
Schönen Gruß,
Andi

AW: Variablendeklaration Uhrzeit
05.10.2007 14:05:00
Hajo_Zi
Hallo Melanie,
als Date

DANKE!
05.10.2007 14:15:39
Melanie
Danke für eure Hilfe, jetzt läufts!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Variablendeklaration für Uhrzeiten in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine VBA Zeitvariable zu deklarieren, die über eine InputBox abgefragt wird, führe die folgenden Schritte aus:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Schreibe den folgenden Code:
Sub t()
    Dim zeit As Date
    zeit = InputBox("Bitte Wunschuhrzeit eingeben (hh:mm):")
    Range("A1").Value = zeit
End Sub
  1. Führe das Makro aus, um die eingegebene Uhrzeit in Zelle A1 zu speichern.

Häufige Fehler und Lösungen

  1. Fehler: Ungültige Eingabe

    • Lösung: Stelle sicher, dass die Eingabe im Format „hh:mm“ vorliegt. Du kannst numerische Werte beschränken, indem du die Application.InputBox mit Type:=1 verwendest.
  2. Fehler: Falsche Zeitberechnung

    • Lösung: Verwende die Time-Funktion, um die aktuelle Uhrzeit zu erhalten. Beispiel:
Sub ZeitDifferenz()
    Dim eingabeZeit As Date
    eingabeZeit = InputBox("Bitte Wunschuhrzeit eingeben (hh:mm):")
    MsgBox "Die Differenz zur aktuellen Zeit beträgt: " & DateDiff("n", Now, eingabeZeit) & " Minuten."
End Sub

Alternative Methoden

Anstelle der InputBox kannst du auch eine UserForm erstellen, um die Eingabe übersichtlicher zu gestalten. So kannst du mehrere Eingaben zulassen und die Eingaben besser validieren.

  1. Erstelle eine UserForm mit einem Textfeld für die Uhrzeit und einem Button.
  2. Im Button-Click-Ereignis kannst du dann die eingegebene Uhrzeit verarbeiten.

Praktische Beispiele

  • Eingabe und Ausgabe der Uhrzeit:
Sub UhrzeitEingeben()
    Dim wunschUhrzeit As Date
    wunschUhrzeit = InputBox("Gib deine Wunschuhrzeit ein (hh:mm):")
    MsgBox "Du hast folgende Uhrzeit eingegeben: " & wunschUhrzeit
End Sub
  • Berechnung der Zeitdifferenz:
Sub ZeitDifferenzBerechnen()
    Dim wunschUhrzeit As Date
    wunschUhrzeit = InputBox("Gib deine Wunschuhrzeit ein (hh:mm):")
    MsgBox "Die Zeitdifferenz zur aktuellen Zeit beträgt: " & DateDiff("n", Now, wunschUhrzeit) & " Minuten."
End Sub

Tipps für Profis

  • Nutze die Application.InputBox anstelle der klassischen InputBox, um den Benutzern nur zulässige Werte zu ermöglichen.
  • Überlege, die Formatierung der Uhrzeit zu überprüfen, um sicherzustellen, dass sie korrekt eingegeben wurde. Beispiel:
If Not IsDate(wunschUhrzeit) Then
    MsgBox "Bitte eine gültige Uhrzeit eingeben."
End If
  • Halte deine VBA-Projekte sauber und gut dokumentiert, um den Überblick über deine VBA Zeitvariablen zu behalten.

FAQ: Häufige Fragen

1. Wie kann ich die aktuelle Uhrzeit in VBA abfragen?
Du kannst die Funktion Time verwenden, um die aktuelle Uhrzeit zu erhalten. Beispiel:

MsgBox Time

2. Was ist der Unterschied zwischen Date und Time in VBA?
Date speichert sowohl Datum als auch Uhrzeit, während Time nur die Uhrzeit speichert. Verwende Date, wenn du mit beiden arbeiten möchtest.

3. Wie kann ich sicherstellen, dass nur Uhrzeiten eingegeben werden?
Verwende die Application.InputBox mit dem Typ 1, um nur numerische Werte zuzulassen. Alternativ kannst du die Eingabe mit IsDate überprüfen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige