Sonnenaufgang

Bild

Betrifft: Sonnenaufgang
von: Thomas
Geschrieben am: 03.07.2006 19:06:18
hallo,
kann mir jemand helfen?
ich benötige eine formel, die mir anhand des datums den sonnenaufgang bwz. den sonnenuntergang errechnet.
danke für eure hilfe
gruss Thomas

Bild

Betrifft: AW: Sonnenaufgang
von: K.Rola
Geschrieben am: 03.07.2006 19:13:47
Hallo,
das Datum reicht nicht, du brauchst zusätzlich die Zeitzone, die geografische Breite und Länge.
Gruß K.Rola

Bild

Betrifft: AW: Sonnenaufgang
von: Thomas
Geschrieben am: 03.07.2006 19:26:02
hi K.Rola,
das sollte kein problem sein, die daten zu besorgen.
wenn ich die nun habe, kannste mir dann ne formel geben?
danke im voraus
gruss Thomas

Bild

Betrifft: AW: Sonnenaufgang
von: K.Rola
Geschrieben am: 03.07.2006 19:46:03
Hallo,
hier solltest du das Gewünschte finden, falls nicht, nochmal melden.
http://www.astroexcel.de/vbexcel.htm
Gruß K.Rola

Bild

Betrifft: AW: Sonnenaufgang
von: Bernd
Geschrieben am: 03.07.2006 19:46:42
hi thomas,
hier, habe ich auch aus dem forum.
autor ist mir leider nicht mehr bekannt.
erkläre dir die formel selbst ;)
 
 ABCD
1Länge10  
2Breite54  
3Tag03.07.2006  
4Tag des Jahres184  
5    
6 FormelFunktion 
7Zeit Sonnenaufgang03.07.2006 04:5403.07.2006 04:54 
8Zeit Sonnenuntergang03.07.2006 21:5303.07.2006 21:53 
9    
Formeln der Tabelle
B3 : =HEUTE()
B4 : =B3-DATUM(JAHR(B3);1;0)
B7 : =ToSommerWinterzeit($B$3+(12-(12*ARCCOS((SIN(-0,0145)-SIN($B$2*PI()/180)*SIN(0,40954*SIN(0,0172*(($B$3-DATUM(JAHR($B$3);1;0))-79,35))))/(COS($B$2*PI()/180)*COS(0,40954*SIN(0,0172*(($B$3-DATUM(JAHR($B$3);1;0))-79,35)))))/PI())-(-0,1752*SIN(0,03343*($B$3-DATUM(JAHR($B$3);1;0))+0,5474)-0,134*SIN(0,018234*($B$3-DATUM(JAHR($B$3);1;0))-0,1939))+(15-$B$1)*4/60)/24)
C7 : =ToSommerWinterzeit($B$3+Sonnenaufgang(B1;B2;B3))
B8 : =ToSommerWinterzeit($B$3+(12+(12*ARCCOS((SIN(-0,0145)-SIN($B$2*PI()/180)*SIN(0,40954*SIN(0,0172*(($B$3-DATUM(JAHR($B$3);1;0))-79,35))))/(COS($B$2*PI()/180)*COS(0,40954*SIN(0,0172*(($B$3-DATUM(JAHR($B$3);1;0))-79,35)))))/PI())-(-0,1752*SIN(0,03343*($B$3-DATUM(JAHR($B$3);1;0))+0,5474)-0,134*SIN(0,018234*($B$3-DATUM(JAHR($B$3);1;0))-0,1939))+(15-$B$1)*4/60)/24)
C8 : =ToSommerWinterzeit($B$3+Sonnenuntergang(B1;B2;B3))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
hier der code für die funktionen:
der code kommt vom selben autor wie die formel.
einfach in ein modul schreiben.
Option Explicit
Public

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

Public

Function Sonnenuntergang( _
    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
'Sonnenuntergang 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)
Sonnenuntergang = (12 + DiffMittag - DiffWozMoz + _
    (15 - Längengrad * 180 / Pi) * 4 / 60) / 24
End Function

Public

Function ToSommerWinterzeit(DatumZeit As Date) As Date
  Dim Beginn As Date, Ende As Date, Jahr&
  Jahr = Year(DatumZeit)
  Beginn = DateSerial(Jahr, 4, 0) - (WeekDay( _
    DateSerial(Jahr, 4, 0), 2) Mod 7) + TimeSerial(1, 0, 0)
  Ende = DateSerial(Jahr, 11, 0) - (WeekDay( _
    DateSerial(Jahr, 11, 0), 2) Mod 7) + TimeSerial(1, 0, 0)
  If DatumZeit > Beginn And DatumZeit < Ende Then
    ToSommerWinterzeit = DatumZeit + TimeSerial(1, 0, 0)
  Else
    ToSommerWinterzeit = DatumZeit
  End If
End Function

gruss Bernd

Bild

Betrifft: AW: Sonnenaufgang
von: Thomas
Geschrieben am: 03.07.2006 19:53:54
hi Bernd,
danke für die formeln.
keine ahnung was da steht, aber es funktioniert. :)
mit dem code kann ich nichts anfangen, danke trotzdem.
auch danke an K.Rola, aber die seite bringt mich leider nicht weiter.
aber bernds formeln passen ja.
gruss Thomas

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Filter über mehrere Blätter"