Function läuft als Makro, aber nicht als Formel
12.10.2003 16:46:28
Björn
hat jemand für mich zu folgendem Problem eine Antwort? Eine Funktion soll prüfen, ob sich in einer Range (A1:A13) zwei Werte (die Zahl 12 und der Text test) zugleich in einer Zelle aus der Range befinden und die Adressen der Zellen, in denen beide Bedingungen erfüllt sind.
Der nachstehende Code funktioniert auch insoweit, als er direkt im Code-Debugger augerufen wird. Seltsamerweise gibt derselbe Code aber, wenn er in eine Zelle mit der Formel =findewert() eingebunden wird, den Wert 0 zurück! Hat jemand dafür eine Erklärung?
Danke für Euere Antworten.
Viele Grüße
Björn
---------------------------------
Option Explicit
Function Suchwert() As Variant
'Deklarationen
Dim Such, zeilenzähler, Ergebnis1, Ergebnis2 As String
Dim zelle As Range
Application.Volatile
For zeilenzähler = 2 To 13
With ActiveWorkbook.Worksheets(1).Cells(zeilenzähler, 1)
Set zelle = .Find("test")
If Not zelle Is Nothing Then
Ergebnis1 = zelle.Address
End If
End With
With ActiveWorkbook.Worksheets(1).Cells(zeilenzähler, 1)
Set zelle = .Find(12)
If Not zelle Is Nothing Then
Ergebnis2 = zelle.Address
End If
End With
If Not zelle Is Nothing And Ergebnis1 = Ergebnis2 Then
Such = Such & Ergebnis1 & ","
End If
Next
Suchwert = Such
MsgBox Suchwert
Exit Function
eh:
MsgBox "Fehler " & Err.Description
MsgBox "Fehler " & Err.Source
End Function