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

function

function
09.05.2003 09:29:29
hartwin
Hallo!

Ich habe mehrere functionen, die in einem sub aufgerufen werden. Die functionen können aber erst funktionieren, wenn die entsprechenden Konstanten im sub zugewiesen werden. Ich bin der Meinung, dass der Aufruf der Funktionen im Sub passiert, bevor die Konstanten einen Wert haben. Obwohl der Aufruf der Funktionen weiter unten im sub steht.
Wie kann ich eine bestimmte Reihenfolge hineinbringen?

Hartwin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: function
09.05.2003 09:36:14
Holger Levetzow

die Frage ist schwer zu verstehen. Ich vermute, dass Du die Konstanten nicht mit übergibst und deshalb dir Funktion nicht rechnet.
Prüfe das doch mit der Überwachung und F8.

Holger

Re: function
09.05.2003 09:40:30
hartwin

der code:

Dim plax, play, plbx, plby, prax, pray, prbx, prby, poax, poay, pobx, poby, puax, puay, pubx, puby As Double 'Messpunkte auf den Geraden
Dim ml, mr, mo, mu As Double 'Steigungen der 4 Geraden

'punkte definieren:
plax = Round(Sheets("Strahlenfeld-Einlesen").Cells(1, 11).Value)
plbx = Round(Sheets("Strahlenfeld-Einlesen").Cells(5, 11).Value)
prax = Round(Sheets("Strahlenfeld-Einlesen").Cells(2, 11).Value)
prbx = Round(Sheets("Strahlenfeld-Einlesen").Cells(6, 11).Value)
poax = Round(Sheets("Strahlenfeld-Einlesen").Cells(3, 11).Value)
pobx = Round(Sheets("Strahlenfeld-Einlesen").Cells(7, 11).Value)
puax = Round(Sheets("Strahlenfeld-Einlesen").Cells(4, 11).Value)
pubx = Round(Sheets("Strahlenfeld-Einlesen").Cells(8, 11).Value)
play = Round(Sheets("Strahlenfeld-Einlesen").Cells(1, 10).Value)
plby = Round(Sheets("Strahlenfeld-Einlesen").Cells(5, 10).Value)
pray = Round(Sheets("Strahlenfeld-Einlesen").Cells(2, 10).Value)
prby = Round(Sheets("Strahlenfeld-Einlesen").Cells(6, 10).Value)
poay = Round(Sheets("Strahlenfeld-Einlesen").Cells(3, 10).Value)
poby = Round(Sheets("Strahlenfeld-Einlesen").Cells(7, 10).Value)
puay = Round(Sheets("Strahlenfeld-Einlesen").Cells(4, 10).Value)
puby = Round(Sheets("Strahlenfeld-Einlesen").Cells(8, 10).Value)

'steigungen:
ml = steigung(play, plax, plby, plbx)
mr = steigung(pray, prax, prby, prbx)
mo = steigung(poay, poax, pobx, poby)
mu = steigung(puay, puax, pubx, puby)


ganz oben (ausserhalb des sub) ist steigung definiert:
Function steigung(y1, x1, y2, x2 As Double)
steigung = (y2 - y1) / (x2 - x1)
End Function


'
Watch : : ml : : Empty : Tabelle6.öffnen_Click

Anzeige
Re: function
09.05.2003 09:51:06
Holger Levetzow

bei mir klappt es. Ich musste nur das double wegnehmen:

Function steigung(y1, x1, y2, x2)

notfalls schicke die Datei rüber.

Holger

Re: function
09.05.2003 09:55:47
hartwin

ahh cool, bei mir gehts auch, wenn ich das as double wegnehm Danke! :)

Re: function
09.05.2003 10:25:30
Hans W. Hofmann

Du musst nicht Deklarationen wegnehmen sondern konsequent durchziehen.
y1, x1, y2 sind in Deiner Funktion Variant und werden mit Double beschickt - das ist der Fehler. Außerdem liefert Deine Funktion wiederum Variant zurück...


Gruß HW


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige