Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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

Gefunden, aber trotzdem ignorieren

Gefunden, aber trotzdem ignorieren
10.11.2020 15:47:36
Patrick
Hallo liebes Forum,
ich habe irgendwo einen Denkfehler und komme nicht drauf, wo ich den Fehler mache. Könnt ihr mir helfen?
Was soll passieren?
Ich habe ein bestimmtes Suchwort , dass ich aus einer Liste von Suchworten entnehme.
Dann lade ich in tags die Keywords aus der Tabelle 3 und schaue, ob darin mein Suchwort enthalten ist.
Falls ja, dann schreibe ein paar Daten in Tabelle4,
falls nein, dann wechsle in Tabelle3 in die nächste Zeile, lade wieder die Keywords in tags und schaue nach, ob mein Suchwort enthalten ist, falls ja, dann ... usw.
Sobald ich das Ende der Tabelle3 erreicht habe, dann nimm das nächste Suchwort aus der Tabelle 1 und beginne alles von vorne.

Funktioniert bis hierhin super!

Jetzt kommts:
Da mir die Ergebnisse in Tabelle 4 aber noch zu grob waren, dachte ich mir, ich verfeinere diese, indem ich ExklusiveSuchworte in Tabelle 1 festlegen kann. Wenn er also eines der ExklusiveSuchworte in den tags findet, dann wirf die ganzen Ergebnisse doch nicht in der Tabelle4 aus.
Mein Gedankengang von grob zu fein:
Sobald er also eines der Suchworte in den tags gefunden hat, setzt er bolauswerten auf true. Wenn es true bleibt, dann wirf meine Ergebniszeile, wie gehabt, in der Tabelle 4 aus.
Vorher prüfe ich aber, ob eines meiner ExklusiveSuchworte in den tags enthalten ist. ist eines der ExklusiveSuchworte in den tags, dann setze bolAuswerten auf false,
und die Zähler der beiden Schleifen i und i2 auf die Höchstwerte, weil hier muss ich nicht mehr weitersuchen. Dieses Ergebnis will ich nicht.
Und weil ich es nicht will, steuert mir bolAuswerten (false) jetzt, dass ich keine Ergebniszeile in Tabelle 4 schreibe (und ich eine weitere Suche auch nciht mehr machen muss (tagstitle).
Springe also hoch zu z-Schleife und mache den ganzen Prozess in Zeile 2 der Tabelle 3 von vorne.
Hier der Code (so far):

For z = 1 To letzteZeileTab3Jobboards
If Tabelle3.Cells(z, 6).Text = Berufsgruppe Then
tags = Split(Tabelle3.Cells(z, 5), ", ") ' lade die Keywords in tags
tagsTitle = Split(Tabelle3.Cells(z, 2), " ") ' lade die Worte aus dem Stellentitel  _
_
in tagsTitle
' Suchworte in Keyword-Spalte suchen
For i = 0 To UBound(tags)
If Suchwort = UCase(Trim(tags(i))) Then
bolAuswerten = True
Do While Tabelle1.Cells(ZeileExklusiveSuchworte, 5)  ""
ExklusiveSuchworte = UCase(Tabelle1.Cells(ZeileExklusiveSuchworte, 5).  _
_
Value)
ZeileExklusiveSuchworte = ZeileExklusiveSuchworte + 1
For i2 = 0 To UBound(tags)
If ExklusiveSuchworte = UCase(Trim(tags(i2))) Then
bolAuswerten = False
i2 = UBound(tags)
i = UBound(tags)
End If
Next i2
Loop
If bolAuswerten Then
Tabelle4.Cells(z2, 1) = Tabelle3.Cells(z, 12) ' group-id in Spalte A
Tabelle4.Cells(z2, 2) = Tabelle3.Cells(z, 9)  ' Start-Date in Spalte B
z2 = z2 + 1
End If
End If
Next i
' Suchworte in Stellentitel suchen
' Aber nur noch machen, wenn nicht sowie schon Auschlußsuchwort entdeckt
If bolAuswerten Then
For i = 0 To UBound(tagsTitle)
If Suchwort = UCase(Trim(tagsTitle(i))) Then
Tabelle4.Cells(z2, 1) = Tabelle3.Cells(z, 12) ' group-id in Spalte A
Tabelle4.Cells(z2, 2) = Tabelle3.Cells(z, 9)  ' Start-Date in Spalte B
z2 = z2 + 1
End If
Next i
End If
End If
Next z

Was tut es aber:
Eigentlich scheint alles zu stimmen, wenn ich die Variablen schritt für schritt überprüfe:
Er findet das Suchwort, setzt bolAuswerten auf true,
er findet das ExklusiveSuchwort und setzt bolAusweten auf false, beendet die Schleifen, schriebt nix...
und am Ende:
ist die betreffende Ergebnis-Zeile doch in der Tabelle4 geschrieben.
Aus irgendeinem Grund "findet" er sie trotzdem.
Was mache ich falsch?
'verzweifelter'
Patrick

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gefunden, aber trotzdem ignorieren
11.11.2020 09:16:35
Tobias
Huhu,
mir fehlt gerade die Zeit das genauer anzuschauen aber vielleicht hilft dir folgende Anmerkung schon:
For z = 1 To letzteZeileTab3Jobboards
If Tabelle3.Cells(z, 6).Text = Berufsgruppe Then
tags = Split(Tabelle3.Cells(z, 5), ", ") ' lade die Keywords in tags
tagsTitle = Split(Tabelle3.Cells(z, 2), " ") ' lade die Worte aus dem Stellentitel  _
_
_
in tagsTitle
' Suchworte in Keyword-Spalte suchen
For i = 0 To UBound(tags)
ZeileExklusiveSuchworte = ZeileExklusiveSuchworte + 1

Du läufst durch deinen Array und gleichzeitig zählst du die Zeilen weiter, keine Ahnung wie die Tabelle genau aufgebaut ist aber ich würde vermuten das da der Haken ist.
Schöne Grüße
Tobias
Anzeige
AW: Gefunden, aber trotzdem ignorieren
12.11.2020 23:41:54
Patrick
Hallo Tobias,
heute abend habe ich mich nochmal rangesetzt und ich habe es gefunden.
Mein Fehler:
Ich suche nach den Suchwort in der Quellenzelle und wenn ich es gefunde habe, dann checke ich, ob irgendeines der Worte in der Quellenzelle auf meiner Exklusivliste steht. Falls ja, dann überprüfe den Titelzelle nach den Suchworten..
Da ist schon der erste Fehler gewesen:
Wenn in den Quellenzelle ein exklusives Suchwort enthalten ist, dann muss ich den Titel nicht mehr prüfen... diese Zeile will ich ja nicht.
Der zweite Fehler:
Wenn ich das Suchwort nicht in der Quellenzelle finde, dann durchsuche die Titelzelle. Habe ich es dort gefunden, dann prüfe, ob irgendein Wort in der Titelzelle auf meiner Exklusivliste steht.
Aber totzdem muss er ja überprüfen, ob eventuell in der Quellzelle noch mein ExklusivWort enthalten ist.. und das hat es nicht gemacht.
Manchmal steht man so richtig aufm Schlauch...
Danke fürs helfen.
Einen schönen Abend ncoh und ein baldiges Wochenende.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige