Probleme mit FUNCTION-Makros (korregiert)



Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: Probleme mit FUNCTION-Makros (korregiert)
von: Marcus
Geschrieben am: 23.05.2002 - 12:53:35

Hallo!
Was stimmt hier nicht ?


Function test(a, b As Integer)
    Cells(a, b).Activate
End Function

Wenn ich irgendwo im Blatt =test(1,1) eingebe, bekomme ich in der gleichen Zelle als Ausgabe #WERT!

Kann man keine Functions programmieren, die sich auf andere Zellen beziehen ? Ich dachte, man könnte auch normale Makros als Functions schreiben...

?!?!?

Gruss,

Marcus


nach oben   nach unten

Re: Probleme mit FUNCTION-Makros (korregiert)
von: Peter
Geschrieben am: 23.05.2002 - 13:04:03

vielleicht so?

Function test(a, b As Integer)
Dim A As Range
Dim b As Range
Cells(a, b).Activate
End Function

habe es nicht ausprobiert

Grüße Peter


nach oben   nach unten

Leider nicht...
von: Marcus
Geschrieben am: 23.05.2002 - 13:11:21

Doppelte Deklarationen nimmt Excel nicht an. Auch, wenn ich direkt in der Kopfzeile a und b als Range definiere, klappts nicht...

Schade...


nach oben   nach unten

Re: Leider nicht...
von: Peter
Geschrieben am: 23.05.2002 - 13:15:56

vielleicht so?

Function test(a As Range, b As Range)
Dim a As Range
Dim b As Range
Cells(a, b).Activate
End Function

habe es nicht ausprobiert

Grüße Peter


nach oben   nach unten

Re: Leider nicht...
von: Marcus
Geschrieben am: 23.05.2002 - 13:16:57

Auch nicht... :-(

Ich versteh's echt nicht...

nach oben   nach unten

Re: Leider nicht...
von: Udo RiHü
Geschrieben am: 23.05.2002 - 13:21:49

So geht das nicht! Functions geben einen Wert zurück und bewirken keine Aktionen wie das Markieren einer Zelle.
z.B.
function Test(a, b)
Test=a*b
end Function

Schreibst du jetzt in eine Zelle "=Test(5;6)" (oder auch mit Bezügen) erscheint das Ergebnis der Funktion.

Gruss
Udo


nach oben   nach unten

Re: Leider nicht...
von: Peter
Geschrieben am: 23.05.2002 - 13:21:50

vielleicht so?

Function test(a As Range, b As Range)
Dim a As Range
Dim b As Range
Cells(a, b).Activate
End Function

habe es nicht ausprobiert

Grüße Peter


nach oben   nach unten

Alles klar! Danke!!
von: Marcus
Geschrieben am: 23.05.2002 - 13:42:52


nach oben   nach unten

Re: Leider nicht...
von: Hans W. Hofmann
Geschrieben am: 23.05.2002 - 14:05:06

Hallo,


Functions könnten per se keine Aktionen auf dem Arbeitsblatt ausführen. Sie bekommen Ihre Werte über die Parameterliste und legen das Ergebnis in der aufgerufenen Zelle ab.
Seiteneffekte auf andere Zellen können zu einer Endlosschleife führen und sind nicht erlaubt.
Deine Lösung kann in einer Funktion NICHT funktionieren.

Gruß HW


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Komma statt Punkt (amerk. Komma)"