Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1064to1068
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

Neue Funktion Suchen

Neue Funktion Suchen
02.04.2009 15:04:22
Florian
Hallo!
Ich brauche in Excel eine neue Funktion, die so ähnlich wie die bestehende Funktion "SUCHEN" funktioniet!
In einer (ausgewählen) Zelle soll gesucht werden, ob einer der folgenden aufgeführten Texte enthalten ist:
"ETZ"
"SonUrl"
"ATZ"
"Krank"
"Muschu"
"Rente auf Zeit"
"Versand"
"Sonstiges"
Groß-/Kleinschreibung soll nicht beachtet werden!
Als Ergebnis soll dann der gefundene Text ausgegeben werden, wenn keiner der aufgeführen Begriffe gefunden wurde, soll das Ergebnis "" (=leer) sein!
Könnte man die Suchbegriffe auch variabel halten, sodass man die Suchbegriffe in der Maske (siehe Beispiel unten) eingeben könnte? Dann wäre die Funktion sehr variabel!
Userbild
Vielen Dank für Eure Hilfe!
Florian

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

Betreff
Datum
Anwender
Anzeige
AW: Neue Funktion Suchen
02.04.2009 16:07:13
Nepumuk
Hallo Florian,
wozu das Rad neu erfinden?
 AB
1Der Mitarbeiter geht jetzt in ATZ.Gefunden

ZelleFormel
B1=WENN(ZÄHLENWENN(A1;{"*ETZ*";"*SonUrl*";"*ATZ*";"*Krank*";"*Muschu*";"*Rente auf Zeit*";"*Versand*";"*Sonstiges*"});"Gefunden";"Nix gefunden")

Gruß
Nepumuk
Anzeige
AW: Neue Funktion Suchen
02.04.2009 16:38:50
Florian
Hallo Nepumuk,
vielen Dank für deine Hilfe!
Hast du deine Formel getestet?
Vor meiner Anfrage habe ich die fast gleiche Formel getestet. Bei mir funktioniert deine Formel nicht, meine hat aber auch nicht funktioniert.
Mein 2. Problem ist, dass der Wert, der gefunden wird, nicht ausgegeben wird! Ich denke, dass man dieses Prolem nur über eine programmiert Funkion hingekommt.
Wie kann ich das Problem in den Griff bekommen?
Vielen Dank für deine Hilfe!
Florian
AW: Neue Funktion Suchen
02.04.2009 19:47:04
Nepumuk
Hallo Florian,
na dann machen wir eine Extrafunktion für dich:
 AB
1abc-defxxxabcyyydef
2#NVaaabbbccc

ZelleFormel
A1=SUCHEN_NEU(B1;"ABC";"DEF";"GHI")
A2=SUCHEN_NEU(B2;"ABC";"DEF";"GHI")

Sieht beim editieren so aus (Die Anführungszeichen macht es ganz alleine rein und du kannst maximal 28 Suchbegriffe eingeben):
Userbild
Die Prozedur:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function SUCHEN_NEU(objRange As Range, ParamArray vntArray() As Variant) As Variant
    Dim obRegEx As Object, objMatch As Object
    Dim intIndex As Integer
    Dim strPattern As String
    For intIndex = LBound(vntArray) To UBound(vntArray)
        strPattern = strPattern & Trim$(vntArray(intIndex)) & "|"
    Next
    strPattern = Left$(strPattern, Len(strPattern) - 1)
    Set obRegEx = CreateObject("VBScript.RegExp")
    With obRegEx
        .Global = True
        .IgnoreCase = True
        .Pattern = strPattern
        Set objMatch = .Execute(objRange.Cells(1).Value)
    End With
    If objMatch.Count Then
        For intIndex = 0 To objMatch.Count - 1
            SUCHEN_NEU = SUCHEN_NEU & objMatch(intIndex) & "-"
        Next
        SUCHEN_NEU = Left$(SUCHEN_NEU, Len(SUCHEN_NEU) - 1)
    Else
        SUCHEN_NEU = CVErr(2042)
    End If
End Function

Gruß
Nepumuk
Anzeige
AW: Neue Funktion Suchen
03.04.2009 07:43:28
Florian
Guten Morgen Nepumuk,
vielen lieben Dank für deine erstellte Funktion! Sie funktioniert super!
Ich hätte nur noch zwei kleine Ergänzungsfragen:
1. Wenn in der definierten Zelle kein Text gefunden wird, kann man dann als Ergebnis auch "" (= leer) ausgeben lassen oder muss immer der Fehler "#NV" ausgegeben werden. Falls dies zur aufwändig ist, kann man das ja über eine ISTFEHLER-Funktion lösen. Es wäre nur sehr praktisch, wenn man das gleich in die Funktion einbauen könnte.
2. Wie schaft man es denn, dass mann so einen kleinen Hilfetext zur Funktion hinterlegen kann, und eine Beschreibung, was mit "ObjRange" oder "VntArray" gemeint ist, so wie in der Orignial-Funktion auch?
Trotzdem nochmal vielen herzlichen Dank!
Gruß
Florian
Anzeige
AW: Neue Funktion Suchen
04.04.2009 08:11:57
Nepumuk
Hallo Florian,
1. Du musst doch nur im Code an Stelle von CVErr(2042) einen Leerstring ausgeben. Bzw. den Else-Zweig ganz löschen.
2. Das geht nicht. Dazu sind es zu viele Parameter. Bei drei bis vier Parametern geht es gerade nocht, aber dann wird der String zu lang und die Funktion zum erzeugen der Texte kann nicht mehr verarbeitet werden. Du könntest ja "sprechende" Parameternamen benutzen.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige