Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Format in VBA
04.07.2006 17:16:09
HermannZ
hallo!
eine frage zur festlegung des Formats bei der Ausgabe eines Makros;
hier das Makro ( aus dem Forum)

Function Sonnenaufgang( _
Längengrad As Double, _
Breitengrad As Double, _
Datum As Date) As Date
Dim Deklination As Double, DiffWozMoz As Double
Dim Jahrestag As Double, H_aufgang As Double
Dim DiffMittag As Double, dummy As Double
Const Pi = 3.141592653
'Sonnenaufgang bei -50 Bogenminuten
H_aufgang = (-50 / 60) * Pi / 180
'Tag des Jahres
Jahrestag = Datum - DateSerial(Year(Datum), 1, 0)
Breitengrad = Breitengrad * Pi / 180
Längengrad = Längengrad * Pi / 180
'Breitengrad, über dem die Sonne Mittags senkrecht steht
Deklination = 0.40954 * Sin(0.0172 * (Jahrestag - 79.35))
'Differenz zum Mittag in Stunden berechnen
dummy = (Sin(H_aufgang) - Sin(Breitengrad) * Sin(Deklination)) _
/ (Cos(Breitengrad) * Cos(Deklination))
DiffMittag = 12 * (Atn((dummy * -1) / _
Sqr(dummy * -1 * dummy + 1)) _
+ 2 * Atn(1)) / Pi
DiffWozMoz = -0.1752 * Sin(0.03343 * Jahrestag + 0.5474) _
- 0.134 * Sin(0.018234 * Jahrestag - 0.1939)
Sonnenaufgang = (12 - DiffMittag - DiffWozMoz + _
(15 - Längengrad * 180 / Pi) * 4 / 60) / 24
End Function

Es geht um diese Anweisung!
Sonnenaufgang = (12 - DiffMittag - DiffWozMoz + _
(15 - Längengrad * 180 / Pi) * 4 / 60) / 24
Bei dieser Anweisung wird die Uhrzeit als zahl ausgegeben, ich hätte gerne folgende Ausgabe; SA 21:53
Wie muss ich diese Anweisung ändern!
Danke HermannZ

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format in VBA
04.07.2006 17:31:53
Peter
Hallo HerrmannZ,
versuch es so:
Sonnenaufgang = "SA " & Format((12 - DiffMittag - DiffWozMoz + _
(15 - Längengrad * 180 / Pi) * 4 / 60) / 24, "hh:mm")
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Format in VBA
04.07.2006 17:39:20
HermannZ
hallo peter;
Danke für die Antwort;
das hatte ich schon probiert dann habe ich die Ausgabe #WERT was ich ja nicht verstehen kann.
muss gerade mal den Rechner verlassen melde mich später wieder;
gruß hermann
AW: Format in VBA
04.07.2006 17:37:31
fcs
Hallo Hermann,
wen ich die Formel richtig lese, dann wird die Uhrzeit des Sonnenaufgangs berechnet.
Am besten weist du der Zelle, in der die Formel steht, folgendes benutzerdefinierte Format zu: "SA "hh:mm
Du kannst auch das Makro ändern:

Sonnenaufgang = "SA " & Format((12 - DiffMittag - DiffWozMoz + _
(15 - Längengrad * 180 / Pi) * 4 / 60) / 24,"hh:mm")

gruss Franz
Anzeige
AW: Format in VBA
04.07.2006 17:41:34
IngGi
Hallo Hermann,
die Formatierung solltest du erst in der Zelle festlegen, in die der Funktionswert letztlich geschrieben wird, und nicht schon in der Funktion selbst. Verwende dazu das folgende benutzerdefinierte Format ohne Klammern ("SA" hh:mm).
Ansonsten müsstest du den Funktionswert als Text zurückgeben. Dann würde die erste Zeile der Funktion so aussehen:
Function Sonnenaufgang( _
Längengrad As Double, _
Breitengrad As Double, _
Datum As Date) As String
und die Wertzuweisung am Ende der Funktion müsste demnach so aussehen:
Sonnenaufgang = "SA " & Format((12 - DiffMittag - DiffWozMoz + _
(15 - Längengrad * 180 / Pi) * 4 / 60) / 24, "hh:mm")
Gruß Ingolf
Anzeige
AW: Format in VBA
04.07.2006 17:47:45
IngGi
Hallo nochmal,
habe gerade gesehen, dass ich etwas spät dran war mit meiner Antwort und hab mir deine erste Reaktion auf die Antwort von Peter angeschaut, die sich ja mit meiner eigenen soweit deckt. Ich denke die Rückgabe des Funktionswertes als String sollte das Problem lösen.
Gruß Ingolf
AW: Format in VBA
04.07.2006 19:07:39
HermannZ
Hallo Ingolf;
das war es, den Funktionswert von Date in String ändern.
Danke.
gruß hermann

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige