Function geht nicht, äquivalente Sub geht

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Function geht nicht, äquivalente Sub geht
von: Peter
Geschrieben am: 21.02.2005 10:32:37
Hallo zusammen,
folgende Funktion:


Public Function vorhaben2005(name As String) As Single
Dim mep As Worksheet, zeile%, summe As Single, j%
Application.Volatile
Set mep = ActiveWorkbook.Sheets("Jan - Dez 2005")
zeile = mep.Range("A18:A300").Find(What:=name).Row + 5
summe = 0
For j = 2 To 53
summe = summe + mep.Cells(zeile, j).Value
Next j
vorhaben2005 = (summe * 100) / 52
End Function

(Wenn der Code etwas umständlich aussieht, liegt es daran, dass ich schon versucht habe, mögliche Fehler auszuschließen).
Das Argument "name" steht in der Nachbarzelle, also z.B. die Funktion in B2 lautet vorhaben2005(A2). Als Rückgabe bekomme ich den Fehler #WERT!
Zum Test habe ich das Ganze auch als Sub geschrieben, gebe den Namen als explizit deklarierte Variable vor und gebe das Ergebnis in einer Messagebox aus:

Public Sub vorhaben()
Dim mep As Worksheet, zeile%, summe As Single, j%
Dim name$, v As Single
Set mep = ActiveWorkbook.Sheets("Jan - Dez 2005")
name = "Mustermann, Karl"
zeile = mep.Range("A18:A300").Find(What:=name).Row + 5
summe = 0
For j = 2 To 53
summe = summe + mep.Cells(zeile, j).Value
Next j
v = (summe * 100) / 52
MsgBox v
End Sub

Damit funktioniert es problemlos. Weiß jemand Rat?
Vielen Dank und Gruß
Peter
Bild

Betrifft: AW: Function geht nicht, äquivalente Sub geht
von: Viet
Geschrieben am: 21.02.2005 10:36:23
Hallo,
in der function hast du name keinen Wert zugewiesen.
Gruss
Bild

Betrifft: AW: Function geht nicht, äquivalente Sub geht
von: WernerB.
Geschrieben am: 21.02.2005 11:05:13
Hallo Peter,
Dein Problem ist für mich nicht nachvollziehbar.
Bei menem Versuchsaufbau liefern Function und Makro das selbe (erwartete) Ergebnis.
Vielleicht liegt Dein Fehler im Aufruf der Function?

Gruß
WernerB.
Bild

Betrifft: AW: Function geht nicht, äquivalente Sub geht
von: Fred
Geschrieben am: 21.02.2005 18:30:38
Find funktioniert in E 2000 nicht in Functions!
Fred
Bild

Betrifft: AW: Function geht nicht, äquivalente Sub geht
von: Peter
Geschrieben am: 23.02.2005 11:59:19
Hallo an alle Antworter,
falls es jetzt noch jemand liest: Entschuldigung, dass ich nicht geantwortet habe, die Benachrichtigung per mail, dass Antworten von euch da sind, hat offensichtlich nicht funktioniert.
Zum Problem:
Fred hat wohl Recht, ich hatte inzwischen durch Testen auch gefunden, dass die Find-Methode der Übeltäter ist.
Danke an alle und Gruß
Peter
 Bild

Beiträge aus den Excel-Beispielen zum Thema "DIV/0! in Zelle ausblenden"