Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion Dezimal -> Zeit/ Variablen-Deklaration

Funktion Dezimal -> Zeit/ Variablen-Deklaration
11.07.2008 18:00:45
Mike
Guten Tag zusammen,
ich habe eine Funktion erstellt, die Dezimalzahlen in das Zeitformat bringen soll.
Problem: deklariere ich die Funktion als Variant, wird zwar die korrekte Zeit angezeigt, aber als Text (linksbündig); deklariere ich hingegen als Date, dann wird zwar die korrekte Zahl angezeigt, allerdings ohne Format.
Public Function Minuten(Zahl As Variant) As Date


Hat vielleicht jemand eine Idee, was ich falsch mache?
Besten dank für die Mühe und viele Grüße
Mike E.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion Dezimal -> Zeit/ Variablen-Deklaratio
11.07.2008 18:08:00
Peter
Servus,
definiere als Double und weiße das Format zu wo du es brauchst nicht in der Function (siehe unten).

Public Function Minuten(Zahl As Variant) As Double '
Sub t()
MsgBox Format(Minuten(12), "hh:mm:ss")
End Sub



Tabelle1
 A
100:12:00
2Zelle Formatiert als Uhrzeit
Formeln der Tabelle
A1 : =minuten(12)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
MfG
Peter

Anzeige
AW: Funktion Dezimal -> Zeit/ Variablen-Deklaratio
11.07.2008 18:19:00
Mike
Hallo Peter,
danke für Deine Mühe.
Ist man denn generell schlecht beraten, das Format in die Funktion zu integrieren? Denn: eine weitere Funktion, mit der ich drei Zellen verkette, um daraus ein Datum zu machen funktioniert mit der Formatierung als "DD.MM.YY" und ist auch tatsächlich ein Datum.
Beste Grüße von
Mike E.

AW: Funktion Dezimal -> Zeit/ Variablen-Deklaration
11.07.2008 18:20:29
Jürgen
Hallo Mike,
Du machst Dir das Leben zu schwer. Wenn Du das Ergebnis im Arbeitsblatt brauchst, verwendest Du einfach die Funktion "Zeit(Stunde;Minute;Sekunde)", die es Dir auch nicht übel nimmt, wenn für Minuten ein Wert größer 60 eingegeben wird. In VBA macht "Timeserial" das gleiche.
In Deiner Funktion kommt es zu den unerwarteten Ergebnissen, weil Du Dich nicht konsequent genug dafür entschieden hast, was sie zurückliefern soll. Ein Zeit / Datumsausdruck? Dann solltest Du die Funktion "As date" deklarieren und die Formatierung dort vornehmen, wo die Zahl benötigt wird (also Zellformat oder in VBA: Format(Minute(1234), "hh:mm:ss").
Wenn Du die Funktion als Variant deklarierst, bekommst Du einen Text zurück, weil "Format(D, "hh:mm:ss") einen String zurückliefert, der (anders als bei einer Funktionsdeklaration "as Date") nicht mehr einer automatischen Typkonvertierung unterzogen wird.
Gruß, Jürgen

Anzeige
AW: Funktion Dezimal -> Zeit/ Variablen-Deklaratio
11.07.2008 18:31:06
Mike
Hallo Jürgen,
das ergibt für meine Datenbasis leider durchaus Sinn... ;-)
Aber: vielen Dank für Deine Erklärung. Diese hat mich weitergebracht und wird mir bei der nächsten Funktion gewiss die Arbeit erleichern.
Dir und Peter W. meinen besten Dank und ein ungemein entspanntes Wochenende!
Es grüßt
Mike E.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige