Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Aufruf von UDF mit Array

Aufruf von UDF mit Array
13.12.2005 13:06:21
UDF
Hallo!
Ich möchte eine UDF mit einem Array aufrufen. Auf diese Weise wäre eine beliebige Anzahl von Parametern eingebbar:
Function findStrings(sucheIn As String, searchStrings() As String) As Boolean ' UDF - wenn einer der Strings im Array searchStrings() ein Teilstring von suchIn ist, wird True zurückgegeben, sonst false. For i = 0 To UBound(searchStrings) 'fehlt noch: if <searchStrings(i) ist Teilstring von sucheIn> findStrings = true Next findStrings = False End Function
Dazu zwei Fragen:
1. Wie muss ich die UDF in Excel aufrufen? Mir schwebt etwas in der Art vor: =findStrings("Dies ist ein Test";{"nix","ist ein","wieder nix"}) So geht das aber nicht, man muss wohl ein Array irgendwie anders darstellen.
2. Terminiert die Rückgabe "findStrings = true" das Programm wie in Java oder läuft es noch weiter bis "findStrings = False"?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aufruf von UDF mit Array
13.12.2005 13:12:48
UDF
Hallo,
wenn Array, dann mit Punkten:
=findStrings("Dies ist ein Test";{"nix"."ist ein"."wieder nix"})
Option Explicit Function findStrings(sucheIn As String, searchStrings) As Boolean Dim i As Integer ' UDF - wenn einer der Strings im Array searchStrings() ein Teilstring von suchIn ist, wird True zurückgegeben, sonst false. For i = LBound(searchStrings) To UBound(searchStrings) If InStr(1, sucheIn, searchStrings(i), vbBinaryCompare) > 0 Then findStrings = True: Exit Function Next End Function
Gruss- Micha
PS: Rückmeldung wäre nett.
AW: Aufruf von UDF mit Array
13.12.2005 13:34:16
UDF
Hallo Micha!
Klappt weiterhin nicht: "Ein in der Formel verwendeter Wert ist vom falschen Datentyp." macht auch Sinn - nach deinem Vorschlag wird dort ja ein String erwartet. Mit
Function findStrings(sucheIn As String, searchStrings() As String) As Boolean
geht es aber genauso wenig.
Viele Grüße,
Martin
Anzeige
AW: Aufruf von UDF mit Array
13.12.2005 13:37:47
UDF
Hallo,
bei mir klappt es. Hast Du es abgeschrieben oder kopiert?
Tabelle1
 A
1WAHR
2WAHR
Formeln der Tabelle
A1 : =findstrings("Hallodef";{"abc"."def"})
A2 : =findstrings("Dies ist ein Test";{"nix"."ist ein"."wieder nix"})
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
(XL 2000)
...und was heißt, bei mir wird ein String erwartet? Es wird ein Variant erwartet, das kann auch ein Datenfeld sein.
Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Aufruf von UDF mit Array
13.12.2005 13:43:29
UDF
Super, danke!
Ich hatte nur einen Teil kopiert und statt LBound(searchStrings) meine 0 stehen lassen. ist allerdings eine merkwürdige Fehlermeldung...
Viele Dank noch mal für die Hilfe!
Grüße, Martin
AW: Aufruf von UDF mit Array
13.12.2005 13:52:43
UDF
Hallo,
ja komisch.
Noch interessanter wird es, wenn Du das Array als Bereich (A1:A5) übergibst.
LBound und UBound funzt dann nicht mehr, IsArray aber schon. Und Du kannst die Werte mit searchStrings(i,1) abgreifen.
Gruss- Micha
PS: Danke für die Rückmeldung!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige