Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Inhaltsverzeichnis

Code erweitern

Code erweitern
01.10.2008 22:12:00
hans
Hallo Excelgemeinde,
ich habe folgenden soweit funktionierenden Funktion zur Vollmond-Berechnung hier gefunden.
Allerdings berechnet er nur das angegebene Datum, Ich möchte aber ein komplettes Jahr überprüfen. Ich habe in Zeile A1 bis A 366 das komplette Jahr stehen. Kann man den Code so umschreiben, das er jedes Datum prüft und dann in die Spalte C neben das entsprechende Datum einträgt ob Vollmond ist ?

Function Mondphase(Datum As Date) As String
Const SynodMonat As Double = 29.530588
Const SynodVollmond As Double = 105.6213922 'IstVollmondTag()
'Const SynodStart As Double = 113.0040392 'IstHalbmondTagAbnehmend()
Const SynodNeumond As Double = 120.3866862 'IstNeumondTag()
'Const SynodStart As Double = 127.7693332 'IstHalbmondTagZunehmend()
Dim OK As Boolean
Dim DatumDbl As Double
Dim DatumLng As Long
Dim DatumVollMond As Date
Dim DatumNeuMond As Date
Dim i As Long
If Year(Datum) > 1900 And Year(Datum)  Datum Then
Mondphase = "zunehmend"
Exit For
End If
Next i
'Berechnung ob Neumond oder nächster Neumondtag
For i = 1 To 2470
DatumDbl = SynodNeumond + i * SynodMonat
DatumLng = Int(DatumDbl)
DatumNeuMond = CDate(DatumLng)
If DatumNeuMond = Datum Then
Mondphase = "Neumond"
Exit Function
ElseIf DatumNeuMond > Datum Then
Exit For
End If
Next i
'Berechnung ob Neu- oder Vollmond näher
If DatumNeuMond 


Danke und Gruß Hans

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code erweitern
01.10.2008 22:40:56
Gerd
Hallo Hans,
wenn die Funktion "funktioniert", musst sie nicht umschreiben, sondern in einer Prozedur mit
Schleife aufrufen.

Sub Start()
Dim lngZeile as Long
For lngZeile = 1 to 366
cells(lngZeile, 3).Value= Mondphase(CDate(cells(lngZeile, 1).Value))
Next
End Sub


Gruß Gerd

Super vielen Dank (o.T.)
01.10.2008 22:46:28
Hans
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige