Function - Sub

Bild

Betrifft: Function - Sub
von: Matthias
Geschrieben am: 27.10.2003 23:03:39

Hallo,

eine Frage:
ich möchte eine Funktion mit mehreren Variablen aufrufen, anhand dieser verschiedene Daten in einem


Sub berechnen lassen und die Ergebnisse dann in frei definierten Zellen ausgeben lassen.
Der Quelltext (vereinfacht, aber das gleiche Problem):
Public var1(1 To 10) As Integer
Public zaehler As Byte

Function TEST() As Variant
calc
End Function



Sub calc()
    For zaehler = 1 To 10
        var1(zaehler) = zaehler * 2
        Cells(zaehler, 1) = var1(zaehler)
    Next zaehler
End Sub



Wenn ich nur die

Sub laufen lasse, werden A1 bis A10 mit Daten gefüllt, wenn ich den 

Sub aus der Funktion aufrufen lasse, bricht das Makro ohne Fehlermeldung ab.
Geht es überhaupt, außerhalb von Function-Zellen Werte zurückgeben zu lassen?
Vielen Dank schonmal vorab,
Matthias
Bild


Betrifft: AW: Function - Sub
von: neimes
Geschrieben am: 27.10.2003 23:20:19

hi matthias

also wenn ich varl und zaehler in der sub declariere funzt es

wenn du die sub aufrufst, ist dann auch das gleiche sheet aktiv ?


ciao
neimes


Bild


Betrifft: AW: Function - Sub
von: Matthias
Geschrieben am: 29.10.2003 20:55:02

Hallo,

ich denke ich habe den Fehler gefunden (nur leider keine Lösung dazu)... :-(

Ich habe die Function sowie den Sub nicht als Objekt in "Tabelle1" geschrieben (dort wird dann nämlich auch die Deklarierung von "var1(1 to 10)" als Public nicht anerkannt sowie für den Sub nochmal verlangt) sondern als Modul.

Grund hierfür ist, dass ich die Funktion TEST aus meinem richtigen Sheet aufrufen will (z.bsp. in Zelle G5: =test()"). Und der Funktions-Assistent kenn sie nur, wenn ich sie als Modul eingebe...

Wenn ich die Funktion in "Tabelle1" schreibe und die o.g. Änderungen vornehme, gibts auch keine Probleme. Rufe ich die Funktion aus meinem Sheet auf, bricht das Makro allerdings wieder wortlos ab. Ich hoffe, das war halbwegs verständlich erklärt.


Grüße,
Matthias


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Legende formatieren"