Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Proceduren und Parameterübergabe

Proceduren und Parameterübergabe
23.02.2007 08:13:00
Thomas
Guten Morgen Excel-Freunde,
ich habe mal wieder etwas geschafft, was ich nicht nachvollziehen kann. In einer Procedur, Ostern(Jahr As Long), wird eine weitere Procedur FindeFeiertag(.....), aufgerufen und dieser einige Parameter übergeben, die teilweise in Procedur Ostern berechnet werden. Nachdem Findefeiertag(....) erfolgreich durchlaufen wurde, wird ein übergebenener Parameter an Findefeiertag(....) von dieser Procedur in Ostern() geändert. Genau das stellt mein Problem dar. Warum geschieht das?
Ich rufe Findefeiertage(....) mehrmals hintereinander auf und die Änderung eines Prameters bewirkt eine falsche Berechnung bei den folgenden Aufrufen.
Hier ein Auszug aus dem Quellcode:

Sub Ostern(Jahr As Long)
'hier Berechnung von Ostern
'X enthält den Ostertag und m den Monat, Extra verhindert, dass der ursprüngliche Wert von
'X verloren geht
Extra = X
'Finde Rosenmontag(Ostern - 48 Tage)
Call FindeFeiertag(Jahr, m + 2, -48, Extra, "Rosenmontag")
'Nach demDurchlauf enthält Extra den Wert, der in FindeFeiertag erstellt wird
Extra = X
'Finde Rosendienstag(Ostern - 47 Tage)
Call FindeFeiertag(Jahr, m + 2, -47, Extra, "Rosendienstag")
End Sub

Sub FindeFeiertag(Jahr As Long, Monat As Long, diffTage As Long, Index As Long, Feiertag _
As String)
'vorher wird der richtige Tag gesucht
'Feiertag im gefundenen Feld eintragen
Worksheets(Monatsname(Monat)).Cells(AdresseDaten(Index, 0), AdresseDaten(Index, 1)).Value _
= Feiertag
'das ist die letzte Zeile in der Sub, danach wird der Wert in Index zurück an
'Oster() in Variabel Extra geschrieben
End Sub

Besten Dak im voraus!

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

Betreff
Datum
Anwender
Anzeige
AW: Proceduren und Parameterübergabe
23.02.2007 08:41:00
stormy_weathers
Hallo Thomas,
wenn ich Deinen Code anschaue kommt es mir nicht so vor, als ob er etwas anderes macht als er sollte...
Was mir auffällt ist die Tatsache, dass Du das Ergebnis immer in die gleiche Zelle ausgibst, und den vorher errechneten Wert damit überschreibst. Vielleicht ist das Dein "Problem"?
Gruß
stormy
AW: Proceduren und Parameterübergabe
23.02.2007 08:58:00
Thomas
Hallo Stormy,
das sieht nur so aus. Der Index wird in Findefeiertag bearbeitet. Bei der Übergabe von Ostern an Findefeiertag steht in Extra erst der Tag von Ostern. In Findefeiertag wird dieser Wert in Index geschrieben um von diesem Wert ausgehend der richtige Tag vom Feiertag berechnet, sprich Index wird erhöht oder erniedrigt. In der letzten Zeile steht dann nur noch das Ergebnis dieser Berechnung, die hier nicht sichtbar ist, nur so viel, mit dem Index bewege ich mich durch das Array AdresseDaten.
Hoffe damit etwas weitergeholfen zu haben. Bin immer noch auf der Suche nach der Ursache, schliesslich werden andere Parameter auch geändert, z.B. Monat, aber da kommt dieser Effekt nicht auf.
mfg
Thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige