Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
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
suchen und finden
10.03.2018 08:07:13
Martin
Hallo,
ich möchte in Spalte A jeder Zeile (insgesammt 22060)nach "mom" und "birthday" suchen.
An welcher Stelle und in welcher Reihenfolge die beiden Wörtern sind ist egal. Hauptsache sie sind vorhanden.
Mit der üblichen Excelsuche "Strg+F' komme ich da nicht vorwärts.
Kann mir jemand weiterhelfen? Evt. mit VBA.
Gruß Martin

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: suchen und finden
10.03.2018 08:13:29
Oberschlumpf
Hi Martin,
mit VBA kein Problem, aber...
...die wichtige Info: "Wie oder wo soll dir das Ergebnis angezeigt werden?", haste leider nicht angegeben.
Oder reicht am Ende des Suchvorgangs eine MsgBox "mom wurde gefunden" und noch eine MsgBox "birthday wurde gefunden"
Ach ja, muss das Wort "mom" alleinstehend sein, oder kann "mom" auch Bestandteil eines Wortes sein, z Bsp "moment"
Ciao
Thorsten
AW: suchen und finden
10.03.2018 08:24:11
Martin
Hallo,
wo und wie es angezeigt wird ist egal.
Eine MsgBox wo drin steht Zeile xxxxx reicht. Oder gleich die Zeile aufrufen. Ist aber egal, wie.
Nee, "Mom" darf nicht Bestandteil eines Wortes sein.
Gruß Martin
Anzeige
AW: suchen und finden
10.03.2018 08:46:47
Oberschlumpf
Hi Martin,
versuch es so:
Sub sbSearch()
Dim larRange As Variant, ldbIdx As Double, lstrRow1 As String, lstrRow2 As String
larRange = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
For ldbIdx = LBound(larRange, 1) To UBound(larRange, 1)
If LCase(larRange(ldbIdx, 1)) = "mom" Then
lstrRow1 = lstrRow1 & ldbIdx & ","
End If
If LCase(larRange(ldbIdx, 1)) = "birthday" Then
lstrRow2 = lstrRow2 & ldbIdx & ","
End If
Next
If lstrRow1  "" Then
lstrRow1 = Left(lstrRow1, Len(lstrRow1) - 1)
MsgBox "Das Wort ''mom'' ist in diesen Zeilen enthalten:" & vbCrLf & vbCrLf &  _
lstrRow1
End If
If lstrRow2  "" Then
lstrRow2 = Left(lstrRow2, Len(lstrRow2) - 1)
MsgBox "Das Wort ''birthday'' ist in diesen Zeilen enthalten:" & vbCrLf & vbCrLf &  _
lstrRow2
End If
End Sub

Hilfts?
Ciao
Thorsten
Anzeige
AW: suchen und finden
10.03.2018 16:04:02
Martin
Hi Oberschlumpf,
nein.
Ich hab ein Satz mit birthday und mom dazugeschrieben. Der wird nicht gefunden.
Gruß Martin
AW: suchen und finden
10.03.2018 16:44:44
Oberschlumpf
Hi
Und ne Bsp-Datei mit Bsp-Daten und meinem Code per Upload zu zeigen kannst du nicht?
Bis dann
Thorsten
ich bin raus
10.03.2018 19:48:28
Oberschlumpf
Sorry, ich komme mir verarscht vor.
Was soll diese Datei?
Bis auf wenige Ausnahmen wiederholt sich der eine Satz so oft.
Oder mit anderen Worten:
Wer eine qualifizierte Lösung wünscht, muss erst mal eine qualifizierte Frage/Aufgabe stellen.
Und letzteres ist dir bis jetzt noch nicht gelungen!
Anzeige
AW: ich bin raus
10.03.2018 20:13:33
Martin
Hallo Thorsten,
>>>
Sorry, ich komme mir verarscht vor.
das war keinesfalls meine Absicht. Da ist offenbar etwas in die falsche Kehle geraten.
>>>
Was soll diese Datei?
Zeigen, dass das gesuchte nicht gefunden wird. Der Inhalt, außer die beiden zu findenden Wörter, spielt doch wohl keine Rolle, oder?
Die Datei, um die es geht, ist ein in Excel importierter Viber-Chat, der sehr private Inhalte hat. Den kann und möchte ich hier nicht veröffentlichen.
Gruß Martin
AW: ich bin raus
10.03.2018 20:54:55
Luschi
Hallo Martin,
Daten sind doch informativ Schall & Rauch; zeige wie die Daten strukturiert sind und verfälsche den Dateninhalt gegen total unverfängliche Infos. Dann kann man Dir auch helfen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: ich bin drin....
11.03.2018 01:50:28
Mullit
Hallo,
...braucht ja nur eine Func-Änderung beim Oberschlumpf...
Option Explicit

Public Sub a()
Const SEARCH_STRING_1 As String = "mom"
Const SEARCH_STRING_2 As String = "birthday"
Dim larRange As Variant, ldbIdx As Long, lstrRow1 As String, lstrRow2 As String
    
    larRange = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    
    For ldbIdx = 1 To Ubound(larRange, 1)
        If InStr(1, larRange(ldbIdx, 1), _
          SEARCH_STRING_1, vbTextCompare) <> 0 Then
            lstrRow1 = lstrRow1 & ldbIdx & ","
        End If
        If InStr(1, larRange(ldbIdx, 1), _
           SEARCH_STRING_2, vbTextCompare) <> 0 Then
            lstrRow2 = lstrRow2 & ldbIdx & ","
        End If
    Next

    If lstrRow1 <> "" Then
        lstrRow1 = Left$(lstrRow1, Len(lstrRow1) - 1)
        Call MsgBox("Das Wort '" & SEARCH_STRING_1 & _
          "' ist in diesen Zeilen enthalten:" & vbCrLf & vbCrLf & _
           lstrRow1, vbExclamation)
    End If
    If lstrRow2 <> "" Then
        lstrRow2 = Left$(lstrRow2, Len(lstrRow2) - 1)
        Call MsgBox("Das Wort '" & SEARCH_STRING_2 & _
          "' ist in diesen Zeilen enthalten:" & vbCrLf & vbCrLf & _
           lstrRow2, vbExclamation)
    End If
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
neuer Erklärungsversuch
11.03.2018 06:30:32
Oberschlumpf
Hallo Mullit,
(Hallo Martin),
ja, Mullit, du hast recht.
Nachdem ich die Datei sah, hab ich auch erkannt, dass die gesuchten Wörter Bestandteil eines Satzes sind.
Ich hätte den Code auch ändern können:
Welche Zeile(n), in denen immer ganze Sätze stehen, enthalten eins oder beide der gesuchten Wörter?
Aber genau dieser Hinweis (Zeilen enthalten ganze Sätze) fehlt in Martins Problembeschreibung.
Und das ist ein Grund, warum ich mich ärgerte.
Ich hatte das so verstanden, dass die Zeilen NUR EINES der Wörter enthalten.
Martin, ja, auch du hast mit der Info recht, dass private, oder auch sonstige, z Bsp reale Firmen-Kontaktdaten, nix in einer öffentlich verfügbaren Datei zu suchen haben.
Das war auch nicht mein Wunsch.
Aber dass in der Bsp-Datei - jede - Zeile beide Wörter + immer den gleichen Satz enthält , hatte mich schon gewundert. Ich hätte mir vom Muster/Aufbau der Datei schon mehr Ähnlichkeit zum Original gewünscht.
Aber nun gut. Mullits Code führt ja jetzt zum gewünschten Ergebnis.
Ciao
Thorsten
Anzeige
AW: ich bin drin....
11.03.2018 09:17:40
Martin
Hallo Mullit, hallo Thorsten,
schön, dass ihr wieder mit mir redet und danke für den Code.
Ich habe nun ganz viel Anzeigeergebnisse, weil sehr häufig birthday und etwas weniger häufig mom vorkommt.
Nun sehe ich, dass ich meine Frage hätte anders stellen sollen: Beide Wörter müssen in der Zeile enthalten sein.
Irgendwo muss dass Geburtstagsdatum ihre Mutter stehen, nachdem ich suche. Deshalb mom und birthday zusammen.
So, nun weiß ich nicht ob ihr nun noch Lust dazu habt das Ding umzumodeln. Arbeit macht's, das weiß ich.
Gruß Martin
AW: Muster zur Nachforderung fehlt
11.03.2018 10:04:43
Gerd
Hallo Martin,
mache halt noch ein Beispiel mit 5 oder 6 Fällen, wann der Treffer vorliegt (welche Kombination) u. wann nicht sowie woraus was ausgelesen werden soll. Denn auch eine "Zeile" hat viiiele Zellen!
Gruß Gerd
Anzeige
AW: Muster zur Nachforderung fehlt
11.03.2018 10:50:54
Oberschlumpf
Hi Martin :-)
Die letzte Anfrage kam zwar von Gerd, aber macht nix :-)
hier, versuch mal:
https://www.herber.de/bbs/user/120326.xls
Jetzt funktioniert der Code, wie von dir gewünscht....aber mit einer Einschränkung.
Ganz am Anfang fragte ich dich, ob immer beide Wörter alleine stehen, also z Bsp " mom " und nicht " moment".
Diese Frage hattest du mit "alleinstehend" beantwortet.
Das stimmt aber nicht.
Die Zeile 5 enthält den Text "...moms birthday...".
Wie du erkennst, steht "mom" aufgrund der Grammatik nicht alleine.
Deswegen musste ich den Code dann doch so anpassen, dass das Wort "mom" auch dann gefunden wird, wenn es Bestandteil eines Wortes, hier "moms", ist.
Das bedeutet aber auch, dass eine Zeile, z Bsp "...the birthday moment..." oder ähnlich + sinnvoller auch als treffer gefunden würde, obwohl "mom" als Person hier gar nicht enthalten ist.
Hilft es denn jetzt? :-)
Ciao
Thorsten
Anzeige
AW: Muster zur Nachforderung fehlt
11.03.2018 11:01:31
Martin
Hallo Thorsten,
ja, danke. Hab's gefunden. Besser geht's nicht.
Gruß Martin
AW: suchen und finden
10.03.2018 08:18:09
Tino
Hallo,
Deine Frage ist unvollständig!
Für was brauchst Du die Suche?
Möchtest du mit den Zellen wo dies drin steht etwas machen? VBA/Excel
Evtl. möchtest du nur prüfen ob überhaupt vorhanden? Formel Zählenwenn
Gruß Tino

196 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige