#WERT! in Zellen mit selbsterstellter Funktion sobald Formular aufgerufen wird

23/09/2010 - 15:30 von Karl Effinger | Report spam
Hallo Gruppe!

Ich verzweifle an folgendem Problem (WinXP, Excel 2003 SP3):
Ich habe eine Funktion geschrieben, die ich in ein paar
Tabellenblàttern und in Formularen verwende. Sobald ich ein
(gebundenes) Formular öffne, steht in den Zellen, die meine Funktion
enthalten, überall "#WERT!". Erst wenn ich sie manuell neu berechnen
lasse, erscheinen wieder die korrekten Werte.
Ein "application.volatile" hat daran nichts geàndert. Was mache ich
falsch?

Die Funktion lautet:


Public Function ParseContacts(csv_list As String) As String
Dim iContactID() As String
Dim i As Long
Dim strName As String
Dim iZeile As Long
const strKontakteblatt = "Contacts"

Application.Volatile

If Len(csv_list) < 1 Then ParseContacts = "": Exit Function

iContactID = Split(csv_list, ",")
With Sheets(strKontakteblatt)
For i = LBound(iContactID) To UBound(iContactID)
iZeile = .Columns("A:A").Find(CStr(iContactID(i)),
After:=.Cells(1, 1), LookIn:=xlFormulas, lookAt:=xlWhole).Row
strName = Trim(.Cells(iZeile, 2).Value) & ", " &
Trim(.Cells(iZeile, 3).Value) & " (" & Trim(.Cells(iZeile, 5).Value) &
")"
ParseContacts = ParseContacts & strName & vbCrLf
Next i
End With
ParseContacts = Left(ParseContacts, Len(ParseContacts) - 2)
End Function

Sie soll den übergebenen String (eine Liste mit kommagetrennten
Zahlenwerten) parsen, die Zahlen in dem Kontakte-Blatt in der ersten
Spalte suchen und dann die in den zugehörigen Spalten hinterlegten
Werte für Vorname, Nachname etc. ausgeben. Also eine Art SVERWEIS mit
Parse-Funktion.

Danke für Eure Hilfe,

Karl
 

Lesen sie die antworten

#1 Karl Effinger
27/09/2010 - 16:16 | Warnen spam
Hat keiner eine Idee oder habe ich ich noch zu wirr/zu wenig
detailliert ausgedrückt?

Ähnliche fragen