ich bau mir gerade eine Aktien-Watchlist mit Excel und mach dabei gerade meine ersten Erfahrungen mit VBA. Dabei habe ich festgestellt, daß die Find-Methode in benutzerdefinierten Funktionen scheinbar nicht funktioniert. Oder mache ich etwas falsch? Die Funktion FindStock() unten funktioniert wie erwartet, wenn sie über das Makro CopyStocks() aufgerufen wird. Verwende ich sie aber in einer Formel in Sheet1, dann findet diese Methode nichts. Kann mir jemand sagen, ob ich hier was falsch mache oder ob das ein Bug ist. (In Sheet1 und Sheet2 stehen in der ersten Spalte die Aktiennamen)
Ciao,
Nukiti
Public
Function FindStock(name As String) As Range
Dim col As Range
Set col = Sheet2.Columns(1)
Set FindStock = col.Find( _
name, col.Cells(1, 1), xlValues, _
xlWhole, xlByRows, xlNext, False)
End Function
Public
Sub CopyStocks()
Dim cell As Range
Dim copy As Range
For Each cell In Sheet1.Columns(1).Cells
If IsEmpty(cell) Then
Exit For
End If
Set copy = FindStock(cell.Value)
cell.Offset(0, 2) = copy
Next cell
End Sub