Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1184to1188
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

Spezialfilter für ein Kurzwort

Spezialfilter für ein Kurzwort
Werner
Hallo Freunde,
ich versuche gerade, aus einer Datei, die in der Spalte "Saetze" jeweils einen Satz pro Zeile enthält,
solche Saetze, die das Wort "auf" als selbstaendiges Wort (z.B. "auf dem Tisch") oder als Verbpraefix (z.B. "aufhalten, auftreten, Er tritt in einer Show auf" usw.) enthalten, mit dem Spezialfilter herauszufiltern.
Gleichzeitig soll verhindert werden, dass Sätze mit Wörtern, die den String "auf" in sich enthalten (z.B. "kaufen", "saufen", "laufen"), in der Filterauswahl mit erfasst werden. Andererseits sollen Sätze, die zwar Wörter
mit Strings wie "kaufen" oder "laufen", danach aber noch das Wort "auf" als selbständiges Wort enthal-
ten (z.B. "Die Katzen laufen auf dem Tisch herum"), natürlich in der Filterauswahl erscheinen .
Ich habe es mit "[!A-Z, a-z]" und ähnlich versucht, doch dann enthielt die Filterauswahl überhaupt keine
Sätze mehr.
Kennt jemand von euch den richtigen Ansatz? Vielen Dank Beste Grüße Werner R.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spezialfilter für ein Kurzwort
06.11.2010 10:50:52
Tino
Hallo,
hier kannst Du viel dazu nachlesen wie die Kriterien für den Spezialfilter aufgebaut werden können,
wie man z. Bsp. und/oder Kriterien aufbaut und welche Platzhalterzeichen verwendet werden können.
http://www.online-excel.de/excel/singsel.php?f=5
Gruß Tino
Lösung noch nicht gefunden
Werner
Hallo Tino,
vielen Dank für den Hinweis! Hasenrodts Website enthält aber nur eine Einführung in den Spezialfilter,
den ich sonst bereits anwende.
Wie man Wörter wie "kaufen" oder "laufen" ausfiltert, wenn man nach dem Kurzwort ("auf") sucht,
ist dort nicht erklärt. Der Schlüssel müsste irgendwie in "*[!A-Z, a-z]auf" oder ähnlich liegen, was aber
leider nicht funktioniert (dem String "auf" darf entweder gar nichts voraufgehen oder nur eine Leerstelle.
Wie ich der Filterfunktion das beibringen kann, weiß ich leider nicht.
Grüße! Werner R.
Anzeige
AW: Lösung noch nicht gefunden
06.11.2010 11:27:15
Tino
Hallo,
Du kannst es auch mit einer Hilfspalte machen,
wo Du in der ersten Zeile eine Formel einbaust die Dir Wahr oder Falsch zurückgibt.
In D2 steht einfach nur die Formel

=ZÄHLENWENN(A2;"*auf*")>0
Userbild
Diese Variante sehe ich als die einfachste weil oft die Formel leichter zu verstehen ist.
Gruß Tino
OK!
Werner
Hallo Tino,
Deine Lösung ist auch sehr gut. In der Hilfsspalte wird dann entschieden, ob der Satz ausgewählt
werden soll (TRUE) oder nicht (FALSE).
Auch dir herzlichen Dank! Werner R.
Anzeige
AW: Spezialfilter für ein Kurzwort
06.11.2010 10:53:18
{Boris}
Hi Werner,
es sollte reichen, folgende Kriterien zu nutzen:

* auf
auf *
Also hinter bzw. vor dem Sternchen ein Leerzeichen.
Grüße Boris
Problem gelöst
Werner
Hallo Boris,
tatsächlich, jetzt klappt es. Mit deinem verblüffend einfachen Lösungsvorschlag konnte ich zunächst alle
Sätze erfassen, in denen "auf" an nichterster Stelle auftaucht.
Auf den Rest bin ich dann selbst gekommen: Ich habe den Filterbereich um ein Feld nach unten erweitert.
Der Filterbereich ist dann wie folgt aufgebaut. Ueberschrift: "Satz", Zelle darunter: * auf, weitere Zelle
darunter: auf (Damit auch Sätze mit dem Wort "auf", wenn es am Satzanfang auftaucht, erfasst
werden!).
Vielen herzlichen Dank! Grüße Werner R.
Anzeige
Ein Makro ?
06.11.2010 11:16:52
ransi
HAllo Werner
Nehmen wir mal an deine Daten stehen in Tabelle1 in Spalte A.
Schubs mal diesen Code an:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub machs()
    Dim Arr
    Dim Z As Long
    Dim Regex
    Dim L As Long
    Redim out(Z)
    Arr = Sheets("Tabelle1").Range("A1").CurrentRegion
    Set Regex = CreateObject("vbscript.Regexp")
    With Regex
        .Pattern = "[^A-Za-zÄÖÜäöüß]auf"
        For L = LBound(Arr, 1) To UBound(Arr, 1)
            If .test(Arr(L, 1)) Then
                Redim Preserve out(Z)
                out(Z) = Arr(L, 1)
                Z = Z + 1
            End If
        Next
    End With
    MsgBox Join(out, vbCrLf)
    'Ausgeben
    Sheets("Tabelle2").Range("A1").Resize(UBound(out) + 1) = WorksheetFunction.Transpose(out)
End Sub


Die Treffer werden in Tabelle2 ausgegeben.
ransi
Anzeige
AW: Ein Makro ?
Werner
Hallo Ransi,
dein Code ist mir erst bekannt geworden, nachdem mein Problem schon gelöst war. (vgl. vorangegangene beide (Teil-)Threads. Trotzdem vielen Dank! Ich notiere ihn mir zur Sicherheit, falls ich noch einmal
auf ein ähnliches Problem stoße und ihn dann so oder abgewandelt einsetzen kann. Herzlichen Dank! Werner R.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige