Anzeige
Archiv - Navigation
752to756
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
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

DoubleVariablen werden zu Variant bei Modulaufruf

DoubleVariablen werden zu Variant bei Modulaufruf
13.04.2006 09:51:24
Matthias
Hallo Forum,
hier mein Problem.
Ich möchte eine Berechnung durchführen. Dazu benutze ich zwei Module, ModulBer in dem die gesamte Berechnungsformeln drin sind und ModulFun in dem ein paar Functions drin sind. Ich rufe also über einen CommandButton das ModulBer auf und während die Berechnung läuft werden immer wieder die Funktionen im ModulFun aufgerufen, so sollte es zumindest sein.
Das Problem: beim kompilieren werden sämtliche von mir als Double bzw. Integer deklarierten Variablen zu Variant/String umdeklariert, so dass meine Functions nichts mehr mit den Variablen anfangen können (Typen unverträglich).
Ich habe beide Module als Public deklariert.
Am Anfang beider Module habe ich "Option Explicit" stehen, ist es möglich dass ich die "Option Private-Anweisung" irgendwo verwenden muss? Wenn ja, muss ich die auch vor jede Function schreiben?
Die Variablendeklaration nahm ich zunächst nur im ModulBer vor, als das Problem erstmals auftrat habe ich den kompletten Deklarationsabschnitt auch in das ModulFun kopiert.
Ich bitte um Rat. Vielen Dank schon mal.
Gruß
Matthias M.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 09:57:38
Matthias
Hallo Matthias,
Ich rufe also über einen CommandButton das ModulBer auf...
Wie machst du das? Du kannst doch nur eine bestimmte Funktion/Prozedur aufrufen!
Zeig' mal ein bisschen Code her.
Gruß Matthias
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 10:19:28
Matthias
Hi,
----------------------------------

Private Sub cmdBerechnen_Click()
ModulBer.Berechnen
End Sub

---------------------------------
Das hier ist dann mein ModulBer, welches auch ohne Probleme durchlaufen wird.
-----------------------------------------
Option Explicit
Public Sub Berechnen()
'Variablen deklarieren:
Dim Zwei As Double 'Komponente doppelt vorhanden!
Dim pVer(), Tein() As Double 'Basiswerte
Dim pNull, P As Double ''usw.
.
.
pNull = pNullFun(mDum:=mRGges) 'Funktion aufrufen!
P = ModulFun.pFun(iDum:=Zwei, pVerDum:=pVer(colIndex), TeinDum:=Tein(colIndex), mRGGesDum:=mRGges, pUDum:=pU(colIndex), mRGDum:=mRG(colIndex), pUmgebDum:=pUmgeb, ThiLuvoDum:=ThiLuVo, pNullDum:=pNull, pSumDum:=pUSum, dTSumDum:=dTSum)
--------------------------------------------------------------------
Und hier die Funktionen, da hab ich dann "Typen unverträglich".
------------------------------------
Function pNullFun(mDum) As Single
pNullFun = 21.5 * (mDum / 1292.6) ^ 2 + 6.5
End Function
-----------------------------------------------
Function pFun(iDum, pVerDum, TeinDum, mRGGesDum, pUDum, pUmgebDum, ThiLuvoDum, mRGDum, pNullDum, pSumDum, dTSumDum) As Double
pFun = pVerDum * (mRGGesDum / iDum / mRGDum) ^ 2 * (273.15 + ThiLuvoDum + dTSumDum) / (273.15 + TeinDum) * (pUmgebDum - pUDum) / (pUmgebDum - pNullDum - pSumDum)
End Function
-----------------------------------------------
Gruß
Matthias M
Anzeige
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 10:23:07
Matthias
Hallo Matthias,
mit

Dim a, b As Integer

deklarierst du a als Variant und b als Integer.
Richtig ist:

Dim a As Integer, b As Integer

War's das?
Gruß Matthias
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 10:38:55
Matthias
Hi,
das war leider nicht das Problem, und ich denke, dass
Dim a, b As Integer
schon auch funktioniert. Ich hab schon mal Funktions benutzt und da gings über diese Art der Deklaration. Damals hab ich aber kein Modul benutzt, deshalb denke ich, ich mach dabei irgendeinen Fehler.
Gruß
Matthias
Anzeige
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 10:43:03
Matthias
Hallo Matthias,
dein Aufruf ist also

pNull = pNullFun(mDum:=mRGges) 'Funktion aufrufen!

In deinem Posting sehe ich aber nirgends, wie mRGges deklariert ist.
Gruß Matthias
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 11:09:14
Matthias
Hi,
die Variablen, die ich an die Functions übergebe, sind alle als Double deklariert. Und dann noch ein paar als Felder (oder wie man das "Tein( )" auch immer nennt), sind nur ziemlich viele, deshalb hab ich nur ein paar als Bsp. mit rein.
Wie funktioniert das eigentlich, das wenn ich hier in das Beitragsschriftfeld vom Forum Code eintrage, dieser dann auch im Forum als Code dargestellt wird, also in der anderen Schriftart?
Gruß
Matthias M
Anzeige
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 11:16:15
Matthias
Hallo Matthias,
zu deinem Problem weiß ich leider keine Lösung.
zu dem Code im Formumstext:
vorgestelltem pre-Tag, also
[pre]
Code
[/pre]
und statt eckigen Klammern nimm spitze.
Gruß Matthias
AW: DoubleVariablen werden zu Variant bei Modulauf
13.04.2006 11:23:17
Matthias
Hi,
trotzdem Danke für Deine Mühe.
Gruß
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige