Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler in VBA Funktion bei Nutzung in Tabelle

Fehler in VBA Funktion bei Nutzung in Tabelle
08.05.2019 13:17:08
Christian
Hallo !
Ich habe in VBA eine Funktion erstellt die anhand einer Kontonummer in Spalte F die Bezeichnung aus Spalte G suchen soll. Sind mehrere Treffer vorhanden sollen die zusätzlichen Bezeichnungen angehängt werden.
Aus einem VBA-Sub aufgerufen funktioniert alles bestens.
Wenn ich diese Funktion in einem Tabellenblatt in Excel als "Formel" nutze bekomme ich die Fehlermeldung "91 - Objektvariable oder With-Blockvariable nicht festgelegt".
Hier mein Code:
Public Function get_neighbor_value(search_text As String, search_sheet As String, search_range  _
As String, neighbor_column As String, Optional error_value As String) As String
Dim Zeile As Long
Dim c As Range
Dim Zellwert As String
On Error GoTo Fehler
With Worksheets(search_sheet).Range(search_range)
Zellwert = ""
Set c = .Find(search_text, LookIn:=xlValues, LookAt:=xlPart) 'Enthält Text
If Not c Is Nothing Then
firstAddress = c.Address
Do
Zeile = Val(c.Row)
Zellwert = Zellwert & " | " & Cells(Zeile, 6).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
If c Is Nothing Then get_neighbor_value = ""
If c Is Nothing And error_value  "" Then get_neighbor_value = error_value
get_neighbor_value = Zellwert
Exit Function
Fehler:
Application.ScreenUpdating = True
MsgBox ("Fehler in Parameter der Function 'get_neighbor_value'" & vbNewLine & "Fehlercode: " _
& Err.Number & vbNewLine & "Text: " & Err.Description & vbNewLine & "Quelle: " & Err.Source)
Err.Clear
End Function

Aus VBA heraus funktioniert alles:
Sub test2()
antwort = get_neighbor_value("467", "Tabelle1", "F:G", "G")
MsgBox (antwort)
End Sub
Was erzeugt den Fehler wenn ich die Funktion als Excel-Formel verwende ?
Danke!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in VBA Funktion bei Nutzung in Tabelle
08.05.2019 13:28:28
Hajo_Zi
ich bekomme keine Fehlermeldung, was wohl daran liegt das meine Datei wahrscheinlich anders aussieht als Deine.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Fehler in VBA Funktion bei Nutzung in Tabelle
08.05.2019 14:32:35
mmat
Hallo,
die Formel steht in einem allgemeinen Modul, nicht etwa in einem Arbeitsblattmodul?
Etwas anderes fällt mir spontan nicht ein. ggf Stopcode setzen und im Einzelschritt durchgehen.
Ich hab das Ding auch ein wenig überarbeitet, weil die Formel so die gewünschten Ergebnisse nicht liefert (z. B. wenn error_value gesetzt ist)
Public Function get_neighbor_value(search_text As String, search_sheet As String, search_range  _
_
As String, neighbor_column As String, Optional error_value As String="") As String
Dim Zeile As Long
Dim c As Range
Dim Zellwert As String
On Error GoTo Fehler
With Worksheets(search_sheet).Range(search_range)
Zellwert = ""
Set c = .Find(search_text, LookIn:=xlValues, LookAt:=xlPart) 'Enthält Text
If Not c Is Nothing Then
firstAddress = c.Address
Do
Zeile = Val(c.Row)
Zellwert = Zellwert & " | " & Cells(Zeile, 6).Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
Else '1. Suche = Fehlschlag
get_neighbor_value = error_value: Exit Function
End If
End With
get_neighbor_value = Zellwert
Exit Function
Fehler:
Application.ScreenUpdating = True
MsgBox ("Fehler in Parameter der Function 'get_neighbor_value'" & vbNewLine & "Fehlercode: "  _
_
& Err.Number & vbNewLine & "Text: " & Err.Description & vbNewLine & "Quelle: " & Err.Source)
Err.Clear
End Function

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige