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

quellcode

quellcode
09.08.2006 10:56:52
Christopher
Hallo, hab mal wieder nen Prob.
Ich berechne mit nachstehendem Code einen Durchmesser:
durchmesser_Kanalll2 = durchmesser_Kanal2(CDbl(Label30.Caption))

Function durchmesser_Kanal2(dValue As Double)
'Berechnung des Durchmessers für verschiedene Luftgeschwindigkeiten
durchmesser_Kanal2 = (CDbl(Label30.Caption)) / 2 / 3600
End Function

will nun mit diesem Durchmesser eine weitere Berechnung durchführen, aber es klappt nicht:
KO2 = KO2l(durchmesser_Kanall2)

Function KO2l(dValue As Double)
KO2l = 2 * 3.14 * (durchmesser_Kanall2 / 2) * (CDbl(Label47.Caption))
End Function

Bitte um eure Hilfe. mfg Christopher

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: quellcode
09.08.2006 11:07:09
ingUR
Hallo, Christopher,
durchmesser_kanal12 ist eine Function, die, bei Übergabe des Parameters dValue, einen Rückabewert liefert - hier vom Datentyp Double.
Das bedeutet, mit Gültigkeit der Variabeln dValue am Verlaufspunkt des Aufrufs:

KO2 = KO2l(durchmesser_Kanall2(dValue)
bzw.
Function KO2l(dValue As Double) as double
KO2l = 2 * 3.14 * (durchmesser_Kanall2(dValue) / 2) * (CDbl(Label47.Caption))
End Function

Wegen der Eindeutigkeit ist zu empfehlen den Rückgabetypen der Funktion zu erklären:

Function durchmesser_Kanal2(dValue As Double) as Double

Gruß,
Uwe
Anzeige
AW: quellcode
09.08.2006 11:24:27
Christopher
Hallo Uwe, danke erstmal für deine Antwort. Habs folgendermaßen eingegeben:
KO2 = KO2l(durchmesser_Kanall2(dValue))

Function durchmesser_Kanal2(dValue As Double) as Double
KO2l = 2 * 3.14 * (durchmesser_Kanall2(dValue) / 2) * (CDbl(Label47.Caption))
End Function

Krieg jetz eien Fehlermeldung: Mehrdeutiger Name, weil wahrscheinlich wegen dieser Function:
durchmesser_Kanalll2 = durchmesser_Kanal2(CDbl(Label30.Caption))

Function durchmesser_Kanal2(dValue As Double)
'Berechnung des Durchmessers für verschiedene Luftgeschwindigkeiten
durchmesser_Kanal2 = (CDbl(Label30.Caption)) / 2 / 3600
End Function

Kannst du mir schreiben, was ich ändern kann. mfg Christopher
Anzeige
AW: quellcode
09.08.2006 11:51:21
ingUR
Hallo, Christoph,
einer Funktion kannst Du niemals einen Wert zuweisen, sie kann also niemals links von einem Gleichheitszeichen stehen!
Es hängt nun von Deiner "Programmorganisation" ab, doch ich m.E. ist es in jedem Fall ratsam, Variablenname und Funkktionsnamen nicht gleichlautend zu vergeben. Daher solltest Du diech entscheiden, welchen Namen du umbenennen kannst. Ein guter Brauch ist es, Variablennamen mit einem Präfix beginnen zu lassrn, der auf den Datentyp hinweist, in Deinem Fall, wo der Variablenname schon eine beträchtliche Länge erreicht hat, könnte vielleicht auch der Name dm_Kanal12 sinnvol als Variablennahme eingesetzt werden, wärend der Funktionsname erhalten bleibt.
Allerdings kann ich nicht übersehen, ob der Funktionname wirklich gut gewählt ist, da dort in der Funktion der Umfang multipliziert mit einem Parameter berechnet wird (natürlich wir 2*3,14*.../2 = 3,14 sein! NB.: statt 3,14 ist auch 4*Atn(1) einsetzbar).
Gruß,
Uwe
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige