• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Zelfgemaakte function (zoek providernaam) geeft compileerfout?

Status
Niet open voor verdere reacties.

FerryW

Gebruiker
Lid geworden
12 aug 2013
Berichten
41
Om het mogelijk te maken uit een grote lijst met e-mailadressen te kunnen sorteren op de providernaam, heb ik zelf een 'functie' gemaakt.
De geeft echter om mij onduidelijke redenen een compileerfout op de standaard functie 'Search'.
De fout die ik terugkrijg is 'Sub of function is niet gedefinieerd', waarbij het woord Search dan is gekleurd (dus blijkbaar de fout).

Als ik regels los uitvoer in de sheet gaat het goed, maar gecombineerd gaat het dus fout.

Function VindProviderNaam(Cel_met_mailadres)
'extraheert de providernaam van een cel met een mailadres

Emailadres = Cel_met_mailadres
LengteMailAdres = Len(Cel_met_mailadres)
PositieAlfateken = Search("@", Cel_met_mailadres)
Provider = Right(Cel_met_mailadres, LengteMailAdres - PositieAlfateken)
VindProviderNaam = Provider

End Function

Mogelijk kan iemand mij een tip geven waar mijn denkfout zit.
Ik gebruik MS Excel 2016 Nederlands, maar als ik in plaats van 'Search' gebruik maak van 'Vind.Spec', werkt het niet.

Vast dank.
Ferry
 
Gebruik Instr in plaats van Search.
 
Gelijk de tip van @edmoor maar even toegepast.

Code:
Function VenA(r As Range) As String
  If InStr(r, "@") > 0 Then VenA = Split(r, "@")(1)
End Function
 
Maar je kan het ook zo doen voor alleen de providernaam:
Code:
Function Provider(target As Range) As String
    Provider = Split(Split(target.Value, "@")(UBound(Split(target.Value, "@"))), ".")(0)
End Function
 
Laatst bewerkt:
Beiden Super!
Zie de kracht van dit medium. Ik (her)kende het bestaande de functie 'Split' niet, dus dat is bij deze al winst voor mij. Uiteraard naast de aangeboden oplossing.
Misschien nog wel mogelijk om uit gelegd te krijgen waarom 'Search' miet werkt terwijl de standaarden 'Len' en 'right' wel werken binnen VB.

Alvast dank.
Ferry
 
Simpel, Search is geen keyword of opdracht in VBA.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan